社区
网络编程
帖子详情
关于异步套接字和同步套接字
qq51931375
2009-07-02 05:40:37
大家好~
我想问下:
1.异步套接字和同步套接字分别在什么情况下使用?
2.和select联合使用的是异步套接字,还是同步套接字?
谢谢回复 ~~
...全文
910
9
打赏
收藏
关于异步套接字和同步套接字
大家好~ 我想问下: 1.异步套接字和同步套接字分别在什么情况下使用? 2.和select联合使用的是异步套接字,还是同步套接字? 谢谢回复 ~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
基于tcp的
异步
套接字
客户端服务端通信
综上所述,基于TCP的
异步
套接字
客户端服务端通信涉及众多技术和策略,包括TCP协议特性、
异步
编程模型、事件驱动设计、并发处理和性能优化。正确理解和运用这些知识点,能够构建稳定、高效、安全的网络应用。
UNIX网络编程卷1(第三版)源代码
10. **
套接字
非阻塞模式与
同步
异步
**:书中源码还涉及如何设置
套接字
为非阻塞模式,以及如何使用
异步
I/O模型,如select()和epoll(),来提高网络程序的效率。 通过阅读和实践这些源代码,读者不仅可以掌握UNIX环境下...
Linux内核源代码情景分析 (上下册 高清非扫描 )
-
套接字
提供了接收和发送数据的功能。 - 接收和发送操作通常是
异步
的。 - **7.8 插口的关闭** - 关闭
套接字
是释放与之相关的资源。 - 关闭操作可以通过`close`系统调用来完成。 - **7.9 其他** - 基于
套接字
的...
套接字
同步
异步
为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了称为
套接字
(Socket)的接口。 分类 常用的TCP/IP协议的3种
套接字
类型如下所示。 流
套接字
(SOCK_STREAM): ...
线程
同步
和线程
异步
&
同步
套接字
异步
套接字
线程
同步
和线程
异步
有什么区别?(重要基础知识) 打个比方,如果你在等一个人,
同步
的时候,你会一直等到她来了之后才做其他事情,这个过程除了等待你啥都不会做,
异步
的时候,你一边在等,可能一边玩游戏或者...
网络编程
18,363
社区成员
64,187
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章