社区
网络编程
帖子详情
UDP 非阻塞问题
宇宙379
2011-09-14 02:08:29
本人用VC 6.0做个UDP客户端,用的是MFC(不是WinAPI),接收服务端发送的数据,当没有数据时候,发现阻塞了。
程序关不掉,用任务管理器关几次才关掉。请问怎么解决这个问题??
查了一下,用WinAPI的可以设置超时时间。但是我用的MFC的CSocket类啊。
谢谢。。。
...全文
508
7
打赏
收藏
UDP 非阻塞问题
本人用VC 6.0做个UDP客户端,用的是MFC(不是WinAPI),接收服务端发送的数据,当没有数据时候,发现阻塞了。 程序关不掉,用任务管理器关几次才关掉。请问怎么解决这个问题?? 查了一下,用WinAPI的可以设置超时时间。但是我用的MFC的CSocket类啊。 谢谢。。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
socket 设置为的
非阻塞
模式 Len = recvfrom(SocketFD, szRecvBuf, sizeof(szRecvBuf), MSG_DONTWAIT, (struct sockaddr *)&SockAddr,&ScokAddrLen);
UDP
...
C++
非阻塞
式读取
UDP
,串口方式总结.txt
使用C++撰写,
非阻塞
是的读取
UDP
,串口方式。串口数据,UDP数据一般采用阻塞式的方式,很多时候,整个程序如果没有接收到新的数据,那么程序就会一直等待接收数据,造成程序等待接收数据的状态,blockingread,...
进程间通信_socket_
udp
_
非阻塞
采用
UDP
方式的进程间通信模型,支持
非阻塞
,socket编程,采用select网络模型。 采用
UDP
方式的进程间通信模型,支持
非阻塞
,socket编程,采用select网络模型。 采用
UDP
方式的进程间通信模型,支持
非阻塞
,socket编程...
Java网络编程第三版.pdf
此外,
非阻塞
I/O(NIO)的引入为高性能网络应用提供了可能,如Selector和Channel的概念。 3. **多线程与并发**:在网络编程中,多线程和并发处理是必不可少的,书中会讲解如何在Java中管理线程,以及如何处理并发...
UDP
-阻塞与
非阻塞
UDP
-阻塞与
非阻塞
UDP
-阻塞与
非阻塞
设置socket
非阻塞
阻塞查看数据从哪儿来操作系统相关获取缓冲区的大小发送函数的阻塞和
非阻塞
UDP
数据报的特点。
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章