Java - TCP socket only connects in LAN -


i have created small tcp server connects other computers on lan. did forward port still not working.

connection method:

    private boolean connect(){     try {         socket = new socket(inetaddress.getbyname(ip), port);         system.out.println("socket created");         dataoutput = new dataoutputstream(socket.getoutputstream());         datainput = new datainputstream(socket.getinputstream());         accepted = true;     } catch (ioexception e) {         system.out.println("unable connect server");         return false;     }     system.out.println("successfully connected server.");     return true; } 

listen method:

    private void listenforserverrequest(){     socket socket = null;     try{         socket = serversocket.accept();         dataoutput = new dataoutputstream(socket.getoutputstream());         datainput = new datainputstream(socket.getinputstream());         accepted = true;         system.out.println("client joined");      }catch(ioexception e){         e.printstacktrace();     } } 

opening server:

    private void initializeserver(){     try{         serversocket = new serversocket(port,8,inetaddress.getbyname(ip));     }     catch(exception e){         e.printstacktrace();     } } 

it appears if you're supplying ip address inetaddress.getbyname(). requires host name. specifically, needs host name corresponding network port forwarded to. example, if you're forwarding computer's (internal) ip address (say, 192.168.1.10), needs host name corresponds address (for example mycomputer.local). java needs host name know interface should listen on. i'm surprised worked @ all.

if want supply ip address , not host name, use inetaddress.getbyaddress(byte[] addr) instead:

byte[] addr = new byte[4]; addr[0] = 192; addr[1] = 168; addr[2] = 1; addr[3] = 10; ... serversocket = new serversocket(port,8,inetaddress.getbyaddress(addr)); 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -