社区
网络编程
帖子详情
winsock 阻塞的理解:阻塞时,所有套接字阻塞,还是某个套接字阻塞?
fangcheng
2004-04-29 03:51:54
winsock 阻塞的理解:阻塞时,所有套接字阻塞,还是某个套接字阻塞?
...全文
88
15
打赏
收藏
winsock 阻塞的理解:阻塞时,所有套接字阻塞,还是某个套接字阻塞?
winsock 阻塞的理解:阻塞时,所有套接字阻塞,还是某个套接字阻塞?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fangcheng
2004-05-03
打赏
举报
回复
感谢各位的解答
MFCClass(profan) 说的,我猜测他可能认为是在界面线程里处理socket i/o了,我这个问题不是这个意思,我问的是关于多线程的i/o处理
alec626(月吻长河) 这位兄弟可能是经常在界面线程里而不是在工作者线程里操作i/o,所以才有这样的认识
除了几个兄弟和我有相同的错误认识,其他兄弟基本上都有清晰、正确的认识,谢谢各位的解答。
请大家继续帮忙:
http://expert.csdn.net/Expert/topic/3029/3029973.xml?temp=.9331629
halk
2004-04-30
打赏
举报
回复
我认为,阻塞时程序控制权交给了正在执行的socket,程序无法得到控制权,这样像程序死了,
此时其他的socket也不做任何事,这和所有套接字阻塞也有区别,阻塞套接字在工作.
--------------
阻塞的时候,只是该线程处于等待状态,等待该socket上的消息。程序有什么控制权,控制权在cpu手里。线程调度仍然在进行,其他线程仍然会可调度,其它的socket也仍然可以用于工作。
Gladstone
2004-04-30
打赏
举报
回复
造成阻塞的原因:接收数据时端口缓冲区中无数据,这时如果被绑定的端口设置为阻塞
式的,则该操作被阻塞在这里,线程被阻塞,直到有数据到来,该操作完成,线程继续执行。
这个过程中其他端口上的操作是正常的。
可以使用ioctlsocket(m_nSocket, FIONBIO, (ULONG*)&optval)设置端口为非阻塞。
fzd999
2004-04-30
打赏
举报
回复
被阻塞的包括两个方面,一方面是当前套接字所对应的端口被阻塞了,另一方面是当前使用这个套接字的线程被挂起了。
lygfqy
2004-04-30
打赏
举报
回复
应该只是阻塞你当前控制的套接字,而其他的不控制不受影响
whslovexyp
2004-04-30
打赏
举报
回复
调用任何一个阻塞模式的函数,都会产生相同的后果-----耗费或长或短的时间等待操作的完成。它只阻塞调用阻塞函数的套接字。如果程序是单线程的,程序都被阻塞了,如果是多线程的并不影响其他的套接字。
vagabondkq
2004-04-30
打赏
举报
回复
设置某个套接字阻塞,它就阻塞.
UDX协议
2004-04-30
打赏
举报
回复
阻塞是指阻塞正在对这个套接字进行IO的线程,不阻塞其他线程对其他套接字的IO操作
wangle11111
2004-04-30
打赏
举报
回复
阻塞是组塞了现在正在执行的那个套接字,是由于调用某个函数,但这个函数所要求的数据没有及时的拱它使用,所以没有办法了,只能等待了。这样对于能接收多个连接的程序来说就有麻烦了,因为在建立连接的请求者中只要有一个没有把数据传过来,那么响应的函数就要等。而其他的套接字(建立好连接的)即使数据准备好了,发出去了,服务器端也不会响应的,因为它的套接字处于阻塞状态。就好比去买东西,如果对哪个顾客的收银速度慢了,即使你在有钱也要等,等那个顾客交完钱后在去买。。。
sevencat
2004-04-29
打赏
举报
回复
是想哪个阻就哪个阻,想哪个不阻就哪个不阻。
phiger
2004-04-29
打赏
举报
回复
BLOCKING是套接字的可以设置的属性,是针对某一套接字,阻塞是指阻塞正在对这个套接字进行IO的线程,不阻塞其他线程对其他套接字的IO操作
PiggyXP
2004-04-29
打赏
举报
回复
所有的socket都挂起了,
因为其他socket的不到被当前socket占用的资源
月吻长河
2004-04-29
打赏
举报
回复
阻塞时,所有套接字阻塞
你用CSocket做个实验就知道了
微星1234
2004-04-29
打赏
举报
回复
阻塞是所有套接字阻塞的.
MFCClass
2004-04-29
打赏
举报
回复
我认为,阻塞时程序控制权交给了正在执行的socket,程序无法得到控制权,这样像程序死了,
此时其他的socket也不做任何事,这和所有套接字阻塞也有区别,阻塞套接字在工作.
Winsock
教程_
套接字
试验
本教程旨在为初学者提供一个全面的
Winsock
学习框架,通过实践性的
套接字
试验,深入
理解
网络通信的基本原理。 首先,我们要了解什么是
套接字
。
套接字
是网络通信中的一个抽象概念,它是两个通信端点之间的连接,允许...
异步非
阻塞
套接字
Winsock
开发网络通信程序开发入门
在本文中,我们将探讨异步非
阻塞
套接字
在
Winsock
编程中的应用,这是开发网络通信程序的基础。异步非
阻塞
模式是Windows网络通信软件开发中的常见选择,尤其适用于C/S架构的软件。 首先,
理解
同步和异步、
阻塞
和非...
VC
套接字
阻塞
模式开发
本文将深入探讨“VC
套接字
阻塞
模式开发”这一主题,基于描述中提到的资源,我们将
理解
如何在Visual C++环境下使用
套接字
进行
阻塞
模式通信。
套接字
(Socket)是网络通信中的基本组件,它提供了进程间通信(IPC)的...
异步
套接字
服务器与客户端
客户端使用异步
套接字
时
,可以避免在等待响应
时
阻塞
。例如,当发送一个请求后,客户端可以继续执行其他任务,直到接收到服务器的响应。这提高了用户体验,特别是对于需要实
时
反馈的应用来说。 在"异步
套接字
服务器...
winsock
多线程
阻塞
通信
在
Winsock
编程中,创建一个
阻塞
套接字
可以通过`WSAStartup`、`socket`、`bind`、`listen`等函数来实现。例如,`socket`函数用于创建一个
套接字
,`bind`函数将
套接字
绑定到指定的IP地址和端口,`listen`函数使
套接字
...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章