[英]Java sockets Client timing out
使用Java套接字,我做了一个简单的服务器。 之所以有效,是因为每当我在另一台计算机的Web浏览器中输入地址( 192.168.1.68:54321
)时,它都会发送数据。 但是,当我尝试使用Java套接字连接到服务器时,它超时了。
客户端连接代码:
public void connect() throws IOException {
socket = new Socket(ip, port); // times out here
socket.setKeepAlive(true);
in = new ObjectInputStream(socket.getInputStream());
out = new ObjectOutputStream(socket.getOutputStream());
t = new Thread(this);
run = true;
t.start();
}
该问题有什么解决方案?
该问题有什么解决方案?
这取决于问题所在。 但我希望它是以下一项(或多项):
在我看来,最后一次是最有可能的。
(请注意,其中许多问题更有可能导致不同的故障模式;即,立即故障而不是连接超时。但是,这取决于环境的各种细节,其中一些细节可能对环境不透明。您。)
其余的应该不是问题,因为当我使用网络浏览器时,它可以与客户端在同一台计算机上工作。
你误会了。 您的Web浏览器将无法成功连接到您的服务。 54321上的服务未实现HTTP,因此您的浏览器无法从中获取页面。
TCP和UDP的防火墙规则通常特定于您尝试使用的端口。 您的Web浏览器可以在(我希望)端口80和443上与服务器对话,这一事实表明,对于其他端口是否可以连接其他端口,一无所知。 而且, 还可能使您的Web浏览器配置(或自动配置)为使用Web代理,这更加复杂了,这可能意味着它根本就没有直接与该主机通信。
鉴于您所说的,很可能是与防火墙相关的问题。 那是我最好的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.