• 全部
  • 问答

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

wangdongyu3d 2005-02-24 12:05:09
在服务器程序中需要知道 于客户端对应的套接字(从accept得到)的状态,以便判断是否可以继续交换数据。怎么办呢??
...全文
66 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
相关推荐
发帖
通信技术
创建于2007-08-27

4037

社区成员

通信技术相关讨论
申请成为版主
帖子事件
创建了帖子
2005-02-24 12:05
社区公告
暂无公告