搜索
bottom↓
回复: 6

tcp客户端,socket掉线重连,比较标准的做法是怎样的??

[复制链接]

出130入129汤圆

发表于 2021-11-24 07:09:08 来自手机 | 显示全部楼层 |阅读模式
比如设备运行tcp客户端,接在路由器下,重启路由器或者拔插网线,应用层检测到socket断开了,只要简单的重新建立socket连接就行。

如果极端一点,路由器修改LAN端的网段,或者将设备不断电接到其它路由器下,设备就只能将网络重新初始化(不断电)获取新ip后才能重连。时间会比较长些。

socket重连比较常用的做法是怎样的呢?
直接重连几次不行就来几次网络重新初始化重连?

出100入0汤圆

发表于 2021-11-24 08:38:30 | 显示全部楼层
我的做法是: 持续一段时间未收到数据,就关闭连接,然后重新连接.

出0入16汤圆

发表于 2021-11-24 17:20:55 | 显示全部楼层
我这边是3分钟连不上就重新DHCP一次,第二种情况很容易越到,之前遇到过有个比较坑的路由器半夜12点固定重启丢IP。。。,或者路由器访问不到自己的服务端也会重启。。。,不初始化设备就永远挂了

出130入129汤圆

 楼主| 发表于 2021-11-24 17:38:44 | 显示全部楼层
初音之恋 发表于 2021-11-24 17:20
我这边是3分钟连不上就重新DHCP一次,第二种情况很容易越到,之前遇到过有个比较坑的路由器半夜12点固定重 ...

我也是因为路由器定时重启才想起这事情,一般情况下重启之后设备的IP还是有效的,但是有时会无效,必须重新获取IP

出130入129汤圆

 楼主| 发表于 2022-4-14 15:30:22 | 显示全部楼层
用的paho-mqtt库,板子自己家用的,感觉算强壮了,路由器不管断电掉线什么的,板子重连不成,大不了重启,总能跟外面mqtt服务器重连成功。

没想昨天到发现新问题,要是光猫重启,板子就算自动重启也没法重连mqtt服务器。
重连的时间间隔也设置为2,30秒,避免被服务器屏蔽。

彻底断电几十秒以上,再重连倒是一次能连上。

出0入89汤圆

发表于 2022-4-14 16:18:19 | 显示全部楼层
68336016 发表于 2022-4-14 15:30
用的paho-mqtt库,板子自己家用的,感觉算强壮了,路由器不管断电掉线什么的,板子重连不成,大不了重启, ...
(引用自5楼)

看不懂,板子断电和自动重启有区别吗?会不会重启没有复位PHY?

出130入129汤圆

 楼主| 发表于 2022-4-14 17:23:41 来自手机 | 显示全部楼层
youkebing 发表于 2022-4-14 16:18
看不懂,板子断电和自动重启有区别吗?会不会重启没有复位PHY?
(引用自6楼)

ch579,带网络的M0芯片,自带phy。
用起来但是容易,但是有问题就比较难,不像stm32那样多人用
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 19:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表