socket通讯如何保持长连接?
长连接定义:
连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接;
问题:
数据传输 如何通知另一方 传送完毕
短链接方式执行 close函数 一般是receve 返回零
长连接执行的是啥??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
连接→数据传输→保持连接(心跳)→数据传输→保持连接(心跳)→……→关闭连接;
问题:
数据传输 如何通知另一方 传送完毕
短链接方式执行 close函数 一般是receve 返回零
长连接执行的是啥??
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
多么痛的领悟呀,之前和银行调socket接口,读数据老是丢字节;加了几次班才想痛加报文长度。。。
回复
银行很多用8583接口哈
要把每次的报文长度一起传送啊,先从socket读6位字节的报文长度,然后再根据报文长度读取剩下的报文内容
引用来自“一叶舟troy”的评论
http://coderworm.com/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/2013/11/13/socket-half-close.html
深入分析tcp close与shutdown
http://coderworm.com/%E7%BD%91%E7%BB%9C%E7%BC%96%E7%A8%8B/2013/11/13/socket-half-close.html
深入分析tcp close与shutdown
靠心跳检测啊,ping一定次数无法回应就可以认为对方关闭了连接
不是这个意思 是 一个socket 如何实信息传输完毕 ,流程不推出我目前想到是执行shutdown
不执行close函数如何知道对方关闭传输数据呀?