【发布时间】:2010-03-16 13:15:48
【问题描述】:
我有以下问题。我的客户端程序监视本地网络中服务器的可用性(使用 Bonjour,但它并不重要)。一旦客户端应用程序“注意到”服务器,客户端就会尝试创建一个套接字:Socket(serverIP,serverPort);。
在某些时候,客户端可能会丢失服务器(Bonjour 说服务器在网络中不再可见)。因此,客户端决定close 套接字,因为它不再有效。
在某个时刻,服务器再次出现。因此,客户端尝试创建一个与此服务器关联的新套接字。但!服务器可以拒绝创建此套接字,因为它(服务器)已经有一个与客户端 IP 和客户端端口相关联的套接字。发生这种情况是因为套接字是由客户端关闭的,而不是由服务器关闭的。会发生吗?如果是这样的话,这个问题怎么解决?
好吧,我知道客户端不太可能尝试从同一端口(客户端端口)连接到服务器,因为客户端会随机选择其端口。但它仍然可能发生(只是偶然)。对吧?
【问题讨论】:
标签: java sockets networking