社区
网络编程
帖子详情
UDP 非阻塞问题
宇宙379
2011-09-14 02:08:29
本人用VC 6.0做个UDP客户端,用的是MFC(不是WinAPI),接收服务端发送的数据,当没有数据时候,发现阻塞了。
程序关不掉,用任务管理器关几次才关掉。请问怎么解决这个问题??
查了一下,用WinAPI的可以设置超时时间。但是我用的MFC的CSocket类啊。
谢谢。。。
...全文
496
7
打赏
收藏
UDP 非阻塞问题
本人用VC 6.0做个UDP客户端,用的是MFC(不是WinAPI),接收服务端发送的数据,当没有数据时候,发现阻塞了。 程序关不掉,用任务管理器关几次才关掉。请问怎么解决这个问题?? 查了一下,用WinAPI的可以设置超时时间。但是我用的MFC的CSocket类啊。 谢谢。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liwei3290
2011-09-16
打赏
举报
回复
我有代码 联系QQ 329044941
「已注销」
2011-09-14
打赏
举报
回复
线程,非阻塞,Timer。。。
dfasri
2011-09-14
打赏
举报
回复
....你开个定时器, 点击之后开始接收, 那不是等于直接锁死客户端了么...定时器不是线程来的.
你不用线程就改改代码, 把SOCKET设置为非阻塞, 然后用定时器来定时查询有没有数据吧.
其实写个线程很简单的, 还是写线程吧. 或者采用异步SOCKET.
Ack_001
2011-09-14
打赏
举报
回复
用异步I/O吧!
比如:事件模型、select模型...这里不详细说明了
网上有很多这方面的资料
zhanshen2891
2011-09-14
打赏
举报
回复
MFC也有相应的设置函数
另外,你这种情况要么改为异步的,要么改为多线程的
宇宙379
2011-09-14
打赏
举报
回复
[Quote=引用 1 楼 dfasri 的回复:]
你有没有开单独的线程来接收数据的? 有的话, 应该你在主线程里面closesocket之后, 肯定会立刻返回错误的.
[/Quote]
没有开单独线程,不熟多线程哦。我直接点击连接按钮进入一个定时器,在里面接收数据,处理并显示
dfasri
2011-09-14
打赏
举报
回复
你有没有开单独的线程来接收数据的? 有的话, 应该你在主线程里面closesocket之后, 肯定会立刻返回错误的.
Linux
UDP
socket 设置为的
非阻塞
模式与阻塞模式区别
主要介绍了Linux
UDP
socket 设置为的
非阻塞
模式与阻塞模式区别的相关资料,需要的朋友可以参考下
非阻塞
udp
server
非阻塞
udp
server,适合
udp
非阻塞
通信
进程间通信_socket_
udp
_
非阻塞
采用
UDP
方式的进程间通信模型,支持
非阻塞
,socket编程,采用select网络模型。 采用
UDP
方式的进程间通信模型,支持
非阻塞
,socket编程,采用select网络模型。 采用
UDP
方式的进程间通信模型,支持
非阻塞
,socket编程...
VC2010,
非阻塞
UDP
简单源码
VC2010,
非阻塞
UDP
简单源码,IP神马的,自己修改下就OK了
c++ socket类封装(
udp
/tcp)
类c++封装的一个socket类,对新手还是有点帮助
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章