社区
网络编程
帖子详情
CSocket(服务端)中如何超时处理?!
smile2008
2004-10-20 11:14:05
使用的是CSocket的消息处理机制,阻塞,多线程,每个socket连接起一个线程。想采用定时器,但是无法识别超时的socket对象,希望大家讨论启发
...全文
238
12
打赏
收藏
CSocket(服务端)中如何超时处理?!
使用的是CSocket的消息处理机制,阻塞,多线程,每个socket连接起一个线程。想采用定时器,但是无法识别超时的socket对象,希望大家讨论启发
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
月吻长河
2004-10-20
打赏
举报
回复
CSocket本身是阻塞的,对超时的响应很滞后。
gdy119
2004-10-20
打赏
举报
回复
每当server accept()一个socket,对该socket设置:
int rcvtime=1000;(1秒)
setsockopt(socket,SOL_S0CKET,SO_SNDTIMEO,(char *)&rcvtime,sizeof(rcvtime));//send
setsockopt(socket,SOL_S0CKET,SO_RCVTIMEO,(char *)&rcvtime,sizeof(rcvtime));//recv
不知道这样可行不?
smile2008
2004-10-20
打赏
举报
回复
当下真的是没有什么好的解决办法
DentistryDoctor
2004-10-20
打赏
举报
回复
SO_SNDTIMEO/SO_RECVTIMEO设置超时,如果超时,send/recv会有错误代码返回的。
try876
2004-10-20
打赏
举报
回复
超时:发一个请示,如果在超时时间内(比如说10秒)没有任何返回信息,就是超时
DentistryDoctor
2004-10-20
打赏
举报
回复
既然用线程了,为何还要用定时器?
smile2008
2004-10-20
打赏
举报
回复
现在是不是对发言次数不做限制了?
smile2008
2004-10-20
打赏
举报
回复
都是短连结
qq_13939330
2004-10-20
打赏
举报
回复
这种我用过,在QQ的四国大战程序中.
客户端每隔一定时间向服务器发送在线标志,如果服务器在一定时间检查到此客户端套接字标志为不在线的话,则作出断线处理!
smile2008
2004-10-20
打赏
举报
回复
不是这样的我对线程数进行了限制,我的发言数够了,希望谁能直切要害
yzhgr
2004-10-20
打赏
举报
回复
服务器段采用多线程的话是不是有局限性呢?如果同时有10000个客户端连接,程序就创建10000个线程,有着10000个线程不知道这样的话运行着是不是会出问题!
smile2008
2004-10-20
打赏
举报
回复
有问题就有解决办法,我现在把socket对象存入了一个数组,但是问题在于我不知道哪个对象是超时的。谁有成功的案例可以提供一下。另外,在做客户程序的时候我使用了select进行了超时处理,比较成功,CSocket的服务端却打住了
MFC:
Socket
编程—TCP
服务端
和多个客户端通信 示例代码
在MFC
中
,C
Socket
类是基于Winsock API封装的,用于
处理
TCP连接和数据交换。 **TCP
服务端
实现:**
服务端
程序通常负责监听特定端口,等待客户端的连接请求。在MFC
中
,我们首先需要创建一个C
Socket
对象,然后调用其...
基于C
Socket
的多人聊天室(服务和客户端分开)
- **异常
处理
**:在编程过程
中
,需要
处理
各种可能的异常,如网络
中
断、
超时
、内存分配失败等,以确保程序的健壮性。 - **安全性**:虽然这不是`C
Socket
`本身的功能,但为了保障聊天室的安全,开发者需要考虑防止...
MFC的TCP套接字
服务端
程序代码
这通常涉及多线程
处理
,每个连接都在独立的线程
中
进行,以确保服务器可以同时
处理
多个客户端。 4. **数据交换**:服务器通过`Receive()`函数接收客户端发送的数据,然后可能通过`Send()`函数回应数据。这些操作都是...
MFC网络编程(
服务端
和客户端的通讯)
- **错误
处理
**:在发送和接收数据过程
中
,需要捕获并
处理
可能出现的异常,如连接
中
断、
超时
等问题。 5. **多线程应用** 在MFC
中
,多线程技术常被用于
处理
多个并发的客户端连接。每个连接可以分配一个单独的线程...
tcp.rar_tcp
一旦有客户端连接,
服务端
会创建一个新的C
Socket
对象来
处理
该连接,并在一个单独的线程
中
进行通信,以避免阻塞其他可能的客户端连接。 4. **客户端实现**:客户端代码则需要初始化套接字,查找服务器的IP地址和端口...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章