社区
网络编程
帖子详情
winsock 阻塞的理解:阻塞时,所有套接字阻塞,还是某个套接字阻塞?
fangcheng
2004-04-29 03:51:54
winsock 阻塞的理解:阻塞时,所有套接字阻塞,还是某个套接字阻塞?
...全文
59
15
打赏
收藏
微信扫一扫
点击复制链接
分享
举报
写回复
15 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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也不做任何事,这和所有套接字阻塞也有区别,阻塞套接字在工作.
打赏
举报
回复
赞
相关推荐
ERP沙盘模拟实践实验报告.docx
ERP沙盘模拟实践实验报告
算法分析与设计实验报告-求最大子段和实验报告(含源代码).doc
算法分析与设计实验报告-求最大子段和实验报告(含源代码).doc
Awesome_Game_UI_Pack_Button_Pack_and_Icon_pack_16_v1.0
Awesome_Game_UI_Pack_Button_Pack_and_Icon_pack_16_v1.0
某公司ERP生产管理系统实验报告.docx
某公司ERP生产管理系统实验报告
算法分析与设计之引言.pps
算法分析与设计之引言.pps
基于51单片机的数字电容测量仪设计实验报告.doc
基于51单片机的数字电容测量仪设计实验报告.doc
云外归鸟的图像处理支持库1.1#0版(第三方)
资源介绍:。易语言YunImage.fne支持库中文名为易语言图像处理支持库,本易语言支持库支持库封装了CxImage图像处理库。易语言YunImage.fne支持库为一般支持库,需要易系统3.6版本的支持,需要系统核心支持库3.7版本的支持,提供了5种库定义数据类型,提供了215种命令,提供了53个库定义常量。易语言图像处理支持库为易语言第三方支持库。操作系统需求: Windows。资源作者:。易语言论坛。资源界面:。资源下载:。
响应光盘行动-拒绝餐饮浪费-主题班会教案.docx
响应光盘行动-拒绝餐饮浪费-主题班会教案.docx
Java项目
:
企业人事系统(java+SpringBoot+Vue+ElementUI+maven+mysql)
项目介绍 人事管理系统功能包括人事通讯,员工信息,人事考评,奖惩,培训管理,薪资管理,统计分析,和系统管理六大模块,对应人事工作基本流程
:
新员工入职档案建立,调动,辞职,员工信息的查询及工资管理等方面.系统管理可以根据不同的角色分配菜单权限设置,不同的用户授予不同角色,对人事结构,单位结构进行整体调配设置.在线聊天可以实现操作员之间讯息的及
时
通讯. 项目基于MVVM的前后端分离开发模式进行开发.MVVM即模型(Model)-视图(View)-视图模型(View Model),实现了数据视图的双向绑定.相对于MVC模式和MVP来说,MVVM是一个比较新的开发架构,它是一种将MVP模式与WPF相结合应用方式发展演变而成的新型开发架. 前后端分离是指将前端和后端从之前的全部由后端负责中分离开来,不再共用一个Server,前端作为一个独立Serve存在.前后端通过接口使用HTTP协议交互,本项目使用vu实体属性outer做前端路由处理.页面跳转不在由后端处理,前后端只是数据的交互.前后端分离的好处在于降低了前后端的耦合性.当面对不同的硬件场景
时
,需要构建不同的界面,前后端分离之后,只需要扩展
2020年高考英语试卷(北京卷-附答案).docx
2020年高考英语试卷(北京卷-附答案).docx
精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf
精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf精选大学生互联网+创业项目经验分享演讲发言稿三篇.pdf
数据管理与数据库:第1章 数据库概述.pdf
数据管理与数据库:第1章 数据库概述.pdf
数据管理与数据库:第11章 安全管理.pdf
数据管理与数据库:第11章 安全管理.pdf
算法与程序设计竞赛 第二章 动态规划.ppt
算法与程序设计竞赛 第二章 动态规划.ppt
课程设计-基于C++的mfc框架的学生社团管理系统(源码+数据库+报告).zip
本系统实现的功能 本程序为单文档应用程序,主程序界面能实现查询社团信息、修改社团信息、删除社团信息、添加社团信息、入团、退团、用户登录、和用户管理功能其中修改社团信息、删除社团信息、添加社团信息和用户管理需要用户登录后才能使用,未登录就点击使用的会会弹出对话框显示您还没有登录,点击登录按钮会弹出用户登录对话框输入正确的用户名称和密码若验证成功则会显示登录成功并显示出您用有的权限高级管理员或者是普通管理员,高级管理员则可以对社团信息进行修改、删除、添加。点击入团按钮会弹出加入社团对话框,在对话框内填上相应的信息后点击确定成功加入后会有相关提示,若没有成功则有可能您输入的社团不存在,点击退团按钮弹出退出社团对话框,输入您要退出的社团名称和学号点击确定如果成功退出会显示成功的标志,否则的话就是您没有假如该社团活着您填的信息不完全。在主程序对话框中可以直接在控件内输入要修改的社团信息,然后点击修改按钮,分别输入控件中的内容然后点击添加按钮,若要添加的社团当前没有的话则添加成功,否则会失败。登录了以后点击用户管理按钮则会弹出用户管理对话框,在该对话框内可以修改用户密码,高级管理员还能注册新用户。
某卷烟厂ERP系统总体方案.docx
某卷烟厂ERP系统总体方案
IDEA编辑器 - 类、方法模板配置
本文主要讲述如何在IDEA 编辑器类、方法模板,方便以后升级IDEA 或者到新环境开发能快 速配置,涵盖了配置方法模板的
所有
重要知识点。
人工智能-机器学习-循环流化床锅炉温度场检测与处理系统的软件开发.pdf
人工智能-机器学习-循环流化床锅炉温度场检测与处理系统的软件开发.pdf
发帖
网络编程
加入
微信扫一扫
点击复制链接
1.8w+
社区成员
6.4w+
社区内容
VC/MFC 网络编程
社区管理员
申请成为版主
帖子事件
创建了帖子
2004-04-29 03:51
社区公告
暂无公告