如何使用服务器重新连接客户端与以前的客户端端口和IP

时间:2017-03-10 09:58:39

标签: android networking socket.io serversocket nsd

我正在使用NSD(网络服务发送)在Android中创建聊天应用程序 我的问题是如何使用以前的客户端IP和端口重新连接客户端 示例: 第一次连接服务器时的客户端ip和端口
端口:52354
IP:110.100.92.187
假设如果某种方式连接丢失,那么我可以重新连接到具有相同IP和PORT的服务器,即 端口:52354
IP:110.100.92.187
或任何其他方式使代码可靠,以便它不会失去连接?记住我使用NSD进行本地网络(本地wifi网络和热点)而非互联网。
对此问题的任何其他更好的解决方案都是最受欢迎的。

1 个答案:

答案 0 :(得分:0)

  

如何使用以前的客户端IP和端口重新连接客户端

通常,您不能,因为TCP TIME_WAIT状态。这意味着您不能重复使用相同的本地端口两分钟或本地配置的最大段寿命(MSL)的两倍。如果您可以等待那么久,您可以在连接之前将bind()套接字连接到该端口。

在实践中,您不应该依赖IP:端口作为客户端标识符。