68336016 发表于 2019-9-10 09:09:30

不太懂网络,请教手机在移动过程中,怎么保持socket连接呢?

在手机上写了个APP连接家里内网的控制板,TCP SOCKET方式,每60秒应答控制板发来的心跳包。

之前都是在静止情况下用,没发现有什么问题。

有两次在行驶的车上打开APP连接家里控制板,没几分钟就断线了。

在手机移动的过程中,手机的IP地址或者端口都可能变化的么?是否需要定时去重新建立socket连接?

skynet 发表于 2019-9-10 09:14:26

在手机移动的过程中,手机的IP地址或者端口都可能变化的么?应该会,切换基站的时候就会

WinExt 发表于 2019-9-10 09:22:46

楼主你的APP时作为从机吗?是的话掉线就应该进行重连,服务器地址和端口是固定的,只要APP连到这个固定的服务器即可,此时手机的IP和端口变化不影响。

另外一种情况,你的APP作为服务器,手机IP变化后如果没有将新的IP映射到固定地址(或者域名)的话,作为客户端的控制板是连不上你的APP的,这也是为什么服务器最好用固定的公网IP的原因。

68336016 发表于 2019-9-10 09:24:35

skynet 发表于 2019-9-10 09:14
在手机移动的过程中,手机的IP地址或者端口都可能变化的么?应该会,切换基站的时候就会 ...

应该就是行驶过程中掉线了

68336016 发表于 2019-9-10 09:26:34

WinExt 发表于 2019-9-10 09:22
楼主你的APP时作为从机吗?是的话掉线就应该进行重连,服务器地址和端口是固定的,只要APP连到这个固定的服 ...

我家里是公网IP,控制板当服务器,手机APP是客户端。

你意思是说切换基站时候,APP掉线了,我重新连接就行,地址和端口都会保持原先的?

不过我这只要重新建立链接就行,地址跟端口变了也无所谓。

laujc 发表于 2019-9-10 09:42:37

68336016 发表于 2019-9-10 09:26
我家里是公网IP,控制板当服务器,手机APP是客户端。

你意思是说切换基站时候,APP掉线了,我重新连接就 ...

手机app主动连接,手机IP变动不受影响

WinExt 发表于 2019-9-10 09:42:43

68336016 发表于 2019-9-10 09:26
我家里是公网IP,控制板当服务器,手机APP是客户端。

你意思是说切换基站时候,APP掉线了,我重新连接就 ...

基站切换后IP地址可能会变吧,这个我不清楚,但是作为从机来说,变或者不变都没关系,SOCKET连接时只要知道服务器地址和端口就可以了,本身的IP和端口不用知道也是可以连接到服务器的。

任何情况下,掉线重连就可以了,不用关系客户端的IP是否变化。
页: [1]
查看完整版本: 不太懂网络,请教手机在移动过程中,怎么保持socket连接呢?