如何使用服务器与以前的客户端端口和IP重新连接客户端
问题描述:
我使用NSD(网络服务分离)在Android中创建聊天应用程序。
我的问题是如何重新连接客户端与以前的客户端IP和端口。
例子: 客户端IP和端口,当它连接到服务器首次
端口:52354
IP:110.100.92.187
假设,如果以某种方式连接丢失,这样我就可以重新连接到相同的与IP和端口,即 端口服务器:52354
IP:110.100.92.187
或任何其他方式使代码可靠,以便它不会失去连接? 记得我使用NSD的本地网络(本地WiFi网络和热点)不是互联网。
任何其他更好的解决这个问题的方法是最受欢迎的。如何使用服务器与以前的客户端端口和IP重新连接客户端
答
如何重新连接客户端与以前的客户端IP和端口
一般来说,你不能,因为TCP TIME_WAIT状态的。这意味着您不能在两分钟内重复使用相同的本地端口,或者本地配置的最大段寿命(MSL)的两倍。如果您可以等待很长时间,则可以在连接之前将该插口连接到该端口。
在实践中,您不应该依赖IP:port作为客户端标识符。
+0
“这意味着您不能在两分钟内重复使用同一本地端口”是否意味着如果设备保持连接两分钟两分钟后会自动复位? –
服务器正在侦听的端口是什么? – greenapps
让服务器正在侦听以下端口和IP 端口:52355 IP:110.100.92.197 –