sock 问题

PS12345 2009-04-17 03:20:51
1. 如何在client端,能时时检测到socket的连接状态。
例如 server 死机,网线连接不上等,怎么能时时得到这些信息。

2.从client连续发送两个数据包,但是在server端一次都接受了,怎么能分别接受?
...全文
731 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1. 如何在client端,能时时检测到socket的连接状态。
例如 server 死机,网线连接不上等,怎么能时时得到这些信息。

2.从client连续发送两个数据包,但是在server端一次都接受了,怎么能分别接受?

1:如果server跟client都是自己做的,心跳包可以检测连接状态.

2:server端的缓冲区里接收到的都是data段的数据,跟包头基本是脱离的,所以只要接收方缓冲区不溢出,连发2个包就是顺序存储在缓冲区,只能自己加标识来区分吧.
rtdb 2009-04-17
  • 打赏
  • 举报
回复
1. 不能,最多是发送失败,原因不可能知道
2. 加包头包尾用来拆包
cyldf 2009-04-17
  • 打赏
  • 举报
回复
1.通过connect函数返回值
2.把server端一次接收数据长度修改一下
liubuweiright 2009-04-17
  • 打赏
  • 举报
回复
1.设置构造"状态数据包"或者是一段时间就检测
2.是不是中间代理服务或者路由设置长度有关,长度长一点,估计就不能把两个数据包一次性接收...

不懂,帮顶,糊讲的.哈哈
shan_xue_xib 2009-04-17
  • 打赏
  • 举报
回复
关注着

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧