如何解决W5500芯片在TCP_Client模式下断电重启之后无法立即...

  • 后来连接不上
  • 链接原先正常
  • Katrina
  • LV3工程师
  • |      2018-02-27 10:25:54
  • 浏览量 1614
  • 回复:0
本帖最后由 Katrina 于 2018-2-27 10:27 编辑 如何解决W5500芯片在TCP_Client模式下,断电重启之后无法立即连接到服务器的问题R:这是由于客户端没有主动发送断开请求,造成服务器并不知道Socket已发生异常断开; 重新上电之后,芯片以相同的IP和端口连接服务器,而服务器还认为此Socket链接存在,所以拒绝芯片的立即连接。 A:解决方案:在芯片使用KEEP_ALIVE机制,一段时间内发送呼吸包,如果芯片没有给服务器回复,服务器则判断链接已断开,并释放Socket资源,这时就可以成功连接。如果对客户端的本地端口没有要求的话,也可以在初始化Socket的部分让端口自动+1处理。两种方式根据具体应用分析采用。注: 有的场景不能采用端口自动+1的方式,比如电力104规约,只允许采用2404端口连接。
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子