Java can';不在同一IP范围内时,请不要连接插座。(子网)
在ip为145.74.217.109的机器上运行ServerSocket时 然后尝试使用ip为145.74.219.103的机器B连接到机器A,我无法连接。 但当使用ip为145.74.217.180的机器C时,它可以工作 我不确定这是否可以在代码中解决,或者只是网络设置。如果是网络问题,是否有其他方法来解决此问题,或者我是否需要从套接字转到 机器A:Java can';不在同一IP范围内时,请不要连接插座。(子网),java,sockets,connection,subnet,Java,Sockets,Connection,Subnet,在ip为145.74.217.109的机器上运行ServerSocket时 然后尝试使用ip为145.74.219.103的机器B连接到机器A,我无法连接。 但当使用ip为145.74.217.180的机器C时,它可以工作 我不确定这是否可以在代码中解决,或者只是网络设置。如果是网络问题,是否有其他方法来解决此问题,或者我是否需要从套接字转到 机器A: public void run() { try { sock = new ServerSocket(Co
public void run() {
try {
sock = new ServerSocket(Constants.PORT);
for (;;) {
Socket newsock = sock.accept();
System.out.println("Accepting new player: ");
new PaintballPlayer(newsock);
}
} catch (Exception e) {
System.out.println("IO error " + e);
}
System.out.println("End!");
try {
sock.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
机器B、C:
socket = new Socket(ip, Constants.PORT);
如果您查看IP us服务器的IP
145.74.217.109
IP145.74.217.180
能够连接,而145.74.219.103
无法连接,则表示子网145.74.219.X
无法访问145.74.217.X
这就是它无法连接的原因。这是网络设置,请向网络管理员咨询。使您的两台计算机具有相同的子网掩码好的,这就是我认为没有办法解决的问题。谢谢。@zaffargachal如何使用套接字连接不同子网上的两台机器?我可以ping这些机器,但插座不工作。@DeepSidhu1313请确保端口是打开的,并且可以相互访问。请尝试使用telnet命令检查端口是否已打开并可从该端口访问machine@zaffargachal我能够ping和ssh到这些机器,但当我尝试使用java套接字时,它会给出超时异常。可能是因为不同的子网!我的局域网上的Bcz one IP属于B类,我的IP属于C类范围。我说得对吗?