一个服务端,当N个设备频繁的断开连接,所建立的socket句柄可能重复吗

ruoge2007 2010-01-07 10:14:24
一个服务端,当N个设备频繁的断开连接,所建立的socket句柄可能重复吗?
...全文
268 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ruoge2007 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wenxy1 的回复:]
引用楼主 ruoge2007 的回复:
一个服务端,当N个设备频繁的断开连接,所建立的socket句柄可能重复吗?


个人认为,socket句柄是一个指向内核数据结构的指针,
当调用closesocket()后,会释放此结构的资源。
那么重新创建后,从理论上讲,有可能新创建的socket句柄相同。
[/Quote]

应该是不释放的话句柄就不会重复,先按这个标准做:)
UDX协议 2010-01-07
  • 打赏
  • 举报
回复
udp吧
Wenxy1 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 ruoge2007 的回复:]
一个服务端,当N个设备频繁的断开连接,所建立的socket句柄可能重复吗?
[/Quote]

个人认为,socket句柄是一个指向内核数据结构的指针,
当调用closesocket()后,会释放此结构的资源。
那么重新创建后,从理论上讲,有可能新创建的socket句柄相同。
hurryboylqs 2010-01-07
  • 打赏
  • 举报
回复
closesocket前当然不能重复
ruoge2007 2010-01-07
  • 打赏
  • 举报
回复
是不是调用closesocket前,是不会重复的呢
ruoge2007 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wwgddx 的回复:]
有可能
[/Quote]
这种情况怎么处理呢????????
服务端是被动建立连接的。假如有客户端A,B,C,,对应的句柄为hA,hB ,当A断开(A端关闭)的时候,恰好有C连接,这时C的句柄为值为hA,当再对A设备(有ID号标识)发送数据的时候,就发送到C上了。
wwgddx 2010-01-07
  • 打赏
  • 举报
回复
有可能
ruoge2007 2010-01-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oyljerry 的回复:]
服务端如果知道客户端断开连接了,就应该释放对应的句柄..然后建立新连接的时候,创建新的
[/Quote]

服务端是被动建立连接的。假如有客户端A,B,C,,对应的句柄为hA,hB ,当A断开(A端关闭)的时候,恰好有C连接,这时C的句柄为值为hA,当再对A设备(有ID号标识)发送数据的时候,就发送到C上了。
oyljerry 2010-01-07
  • 打赏
  • 举报
回复
服务端如果知道客户端断开连接了,就应该释放对应的句柄..然后建立新连接的时候,创建新的
sandyandy 2010-01-07
  • 打赏
  • 举报
回复
完全有可能

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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