0

我创建了一个普通的聊天程序,它只有一个服务器和一个客户端类。我在最后运行服务器。聊天客户端是从不同的机器上运行的。在我的程序中,我指定了一个随机端口号,所有客户端都使用套接字连接来连接到在我的机器上运行的服务器。第一个问题是我必须禁用防火墙才能使其正常工作(可能是防火墙阻止了我提供的端口)。如何指定防火墙可以接受的端口号?我必须自己打开一个端口吗?

其次,禁用防火墙后,一切正常,但突然间,连接丢失。没有一个客户端可以发送消息。这可能是什么原因?不知道是不是我选择的端口造成的。

4

1 回答 1

1

您需要正确设置 Socket 连接超时,this.socket.setSoTimeout(timeOut); 以防止超时导致连接丢失。

为了允许通过防火墙进行套接字通信,请通过此文档: http: //windows.microsoft.com/en-US/windows7/Allow-a-program-to-communicate-through-Windows-Firewall

于 2013-10-10T13:53:38.160 回答