-1

在我的客户端-服务器应用程序中,我正在创建一个带有 ipaddress 和端口号的 Socket。

最初,当我们运行客户端应用程序时,会建立与服务器的套接字。但是在客户端应用程序多次关闭和启动后,它抛出异常并且没有创建套接字(即使存在具有指定 ipaddress 的系统)。

我无法追踪错误。你能建议我,我哪里出错了吗?

4

3 回答 3

1

不要绑定到客户端中的特定端口。只需让实现选择要绑定的端口即可。

于 2012-12-27T10:49:52.440 回答
0

尝试设置 Socket.setSoLinger(false, 0) 以便立即关闭套接字。

于 2012-12-27T11:29:53.533 回答
0

它可能取决于操作系统,但是当您的应用程序开始拒绝建立新的连接运行netstat.exe(Windows) 时,您会看到很多处于TIME_WAIT状态的 TCP 连接。TCP 连接在关闭后进入此状态并保持一段时间。这意味着当您快速打开/关闭它们时,操作系统可能会用完免费连接。

于 2012-12-27T10:57:53.280 回答