社区
网络编程
帖子详情
关于异步套接字和同步套接字
qq51931375
2009-07-02 05:40:37
大家好~
我想问下:
1.异步套接字和同步套接字分别在什么情况下使用?
2.和select联合使用的是异步套接字,还是同步套接字?
谢谢回复 ~~
...全文
970
9
打赏
收藏
关于异步套接字和同步套接字
大家好~ 我想问下: 1.异步套接字和同步套接字分别在什么情况下使用? 2.和select联合使用的是异步套接字,还是同步套接字? 谢谢回复 ~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
baobaodediaozhui
2012-01-14
打赏
举报
回复
lz可能不知道有结贴这一说。。。。
JamyLou
2011-07-04
打赏
举报
回复
楼上好牛,是党的人来着
Eleven
2010-05-17
打赏
举报
回复
结贴通知:
请lz注意结贴。。。。
tlmiai
2010-03-22
打赏
举报
回复
正在学习这方面的东西,很有帮助
wiresharker
2009-07-03
打赏
举报
回复
select是通过轮询方式检测每个socket是否可读、可写
和socket的阻塞、非阻塞属性没有关系。
阻塞、非阻塞属性是描述socket读写数据的一种方式。
(个人理解)
dong364
2009-07-03
打赏
举报
回复
1. 使用WSASocket时, 经常将dwFlags设置为WSA_FLAG_OVERLAPPED, 这样可形成overlapped socket, 于是可使用WSASend, WSARecv, WSASendTo, WSARecvFrom, WSAIoctl这些函数; 使用socket时, 一般使用accept, send, sendfrom, recv, recvfrom较多, 因为::socket()函数不提供dwFlags, 当然也可使用WSA系列函数(将关于overlapped的参数置NULL). WSA系列函数是非阻塞型的所以立即返回, 一般多在异步IO模型中使用, 像send, sendfrom等这样的阻塞型函数往往多见于单一通信或在client端使用.
2. select模型不太常用, 可使用::socket()创建
Gothic_girl
2009-07-02
打赏
举报
回复
同步所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。按照这个定义,其实绝大多数函数都是同步调用(例如sin, isdigit等)。但是一般而言,我们在说同步、异步的时候,特指那些需要其他部件协作或者需要一定时间完成的任务。最常见的例子就是 SendMessage。该函数发送一个消息给某个窗口,在对方处理完消息之前,这个函数不返回。当对方处理完毕以后,该函数才把消息处理函数所返回的 LRESULT值返回给调用者。
异步异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。以CAsycSocket类为例(注意,CSocket从CAsyncSocket派生,但是起功能已经由异步转化为同步),当一个客户端通过调用Connect函数发出一个连接请求后,调用者线程立刻可以朝下运行。当连接真正建立起来以后,socket底层会发送一个消息通知该对象。
Gothic_girl
2009-07-02
打赏
举报
回复
同步指的是发送方不等接收方响应,便接着发下个数据包的通信方式
异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。
相关概念:
阻塞套接字是指执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上,比如调用recv()函数读取网络缓冲区中的数据,如果没有数据到达,将一直挂在recv()这个函数调用上,直到读到一些数据,此函数调用才返回;
非阻塞套接字是指执行此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用recv()函数读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。
在实际Windows网络通信软件开发中,异步非阻塞套接字是用的最多的。平常所说的C/S(客户端/服务器)结构的软件就是异步非阻塞模式的。
写不动代码的人
2009-07-02
打赏
举报
回复
http://hi.baidu.com/vc_net/blog/item/eceb4954ee30405c574e0070.html
16线程
同步
和
异步
套接字
本文介绍线程
同步
机制,包括事件对象、关键代码段及如何避免死锁。同时,详细讲解了基于消息的
异步
套接字
原理与实现,包括
套接字
的创建、绑定以及数据收发过程。
线程
同步
和线程
异步
&
同步
套接字
异步
套接字
本文详细解释了
同步
和
异步
的概念及其应用场景,并通过生动的例子帮助理解。此外还介绍了
套接字
在
同步
和
异步
模式下的行为差异。
孙鑫MFC笔记教程(16)--线程
同步
和
异步
套接字
编程
本文介绍线程
同步
的三种方式:互斥对象、事件对象与关键代码段,并探讨它们之间的区别。此外,详细讲解如何使用
异步
套接字
进行网络编程,包括创建
套接字
、绑定地址、接收发送数据等过程。
孙鑫MFC笔记之十四--多线程
同步
与
异步
套接字
编程
本文介绍了线程
同步
的三种方式,包括互斥对象、事件对象和关键代码段,分析了它们的特点及使用方法,还阐述了死锁问题。此外,讲解了
异步
套接字
编程,包括其模式、相关函数,以及基于
异步
套接字
的聊天室程序的编写步骤,指出采用
异步
套接字
可提升程序性能。
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章