各位老大:请教如何获得套接字的状态

wangdongyu3d 2005-02-24 12:05:09
在服务器程序中需要知道 于客户端对应的套接字(从accept得到)的状态,以便判断是否可以继续交换数据。怎么办呢??
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangdongyu3d 2005-02-25
  • 打赏
  • 举报
回复
wangdongyu3d 2005-02-25
  • 打赏
  • 举报
回复
我作的是一个网络休闲游戏, 想得到在windows 和linux下比较通用的方法, 有人说在服务器端循环向各个客户发送KeepLive包,是不是需要单独开一个线程,如果在线程中阻塞于read 会不会影响其他线程,
突然有一个想法:当轮到某一个客户动作是,先发送一个确认消息,比如自定义CLIENT—KEEPLIVE,然后等待存活确认后在发送数据以及接收客户动作的结果,其间其他客户处于阻塞状态。不知有没有问题??
wangdongyu3d 2005-02-25
  • 打赏
  • 举报
回复
在服务器中使用
getsockopt(
lpCurentNode->sClient,
SOL_SOCKET,
SO_CONNECT_TIME,
(char*)&nOptval,
&nOptlen);

讲到:若套接字当前尚未连接,返回值便是 0xFFFFFFFF
此处指的当前尚未连接是说客户机已经崩溃,此时服务器未收到任何FIN分节,服务器对客户机一无所知。还是客户机已经正常退出呢??
xiaohaiyan 2005-02-24
  • 打赏
  • 举报
回复
参见http://community.csdn.net/Expert/topic/3772/3772066.xml?temp=.2315332

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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