在我的客户端 - 服务器应用程序中,我正在创建一个带有ipaddress和端口号的Socket。
最初,当我们运行客户端应用程序时,建立了带服务器的套接字。但是在多次关闭和启动客户端应用程序之后,它会抛出异常并且没有创建套接字(即使存在具有指定ipaddress的系统)。
我无法追查错误。你能建议我,我哪里出错了?
答案 0 :(得分:1)
不要绑定到客户端中的特定端口。只需让实现选择要绑定的端口。
答案 1 :(得分:0)
它可能取决于操作系统,但当您的应用程序开始拒绝建立新连接时运行netstat.exe
(Windows),您将看到TIME_WAIT
状态下的大量TCP连接。 TCP连接在关闭后进入此状态并保持一段时间。这意味着当您快速打开/关闭它们时,操作系统可能会耗尽空闲连接。
答案 2 :(得分:0)
尝试设置Socket.setSoLinger(false,0),以便立即关闭套接字。