社区
网络编程
帖子详情
关于异步套接字和同步套接字
qq51931375
2009-07-02 05:40:37
大家好~
我想问下:
1.异步套接字和同步套接字分别在什么情况下使用?
2.和select联合使用的是异步套接字,还是同步套接字?
谢谢回复 ~~
...全文
982
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笔记之十四--多线程
同步
与
异步
套接字
编程
本文介绍了线程
同步
的三种方式,包括互斥对象、事件对象和关键代码段,分析了它们的特点及使用方法,还阐述了死锁问题。此外,讲解了
异步
套接字
编程,包括其模式、相关函数,以及基于
异步
套接字
的聊天室程序的编写步骤,指出采用
异步
套接字
可提升程序性能。
【Java设计模式】23种模式全解析:核心思想、六大原则与三大分类体系及框架应用
内容概要:本文系统阐述了23种设计模式的完整知识体系,涵盖其底层思想、六大设计原则、三大分类(创建型、结构型、行为型)及其核心应用场景。文章深入剖析了每种模式的定义、结构、优缺点、代码实现与工程落地案例,并结合JDK、Spring等主流框架源码讲解其实际应用,帮助开发者理解设计模式如何解决代码耦合、扩展性差、复用率低等工程痛点。同时提供了高频面试题解析与易混淆模式对比,强化实战与应试能力。 适合人群:具备Java基础的初中级研发人员,准备Java后端面试的求职者,以及希望深入理解框架底层设计原理的开发人员。 使用场景及目标:①掌握23种设计模式的核心原理与适用场景;②理解Spring、MyBatis等框架底层所应用的设计模式;③应对Java后端开发中关于设计模式的面试考察;④提升代码设计能力,写出高内聚、低耦合、易扩展的高质量代码。 阅读建议:学习时应结合代码示例动手实践,重点关注模式间的对比与适用边界,并联系实际项目或框架源码加深理解,避免死记硬背。
网络编程
18,356
社区成员
64,161
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章