社区
网络编程
帖子详情
请问同步方式和异步方式的区别
zsgszy
2003-09-18 08:12:53
在同步方式下,发送函数返回时,是不是意味着我要发送的信息已经到达对方的缓冲区内?在异步方式下又如何呢?
...全文
409
5
打赏
收藏
请问同步方式和异步方式的区别
在同步方式下,发送函数返回时,是不是意味着我要发送的信息已经到达对方的缓冲区内?在异步方式下又如何呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hewwatt
2003-09-18
打赏
举报
回复
To dchengwang,
你对同步/异步和TCP/UDP明显混淆了。
你如果手边有LINUX,你可以试着打开tcpdump,看一下,当你程序中send返回时,
tcpdump是否每次都已经收到目的端的TCP的ACK应答包。(最好连一个比较远的机
器,在网上可以找到很多连接很慢的HTTP服务器的,就用它的80端口去连好了,
这样效果更明显)
还可以这样试一下,最好中间有一个网关或HUB,你在网关这一边的机器上跑一个程序
建立一个到网关另一头某台机器的TCP连接,然后,你把那台机器的网线拔了,这时
候你再单步跟踪send的调用,发一个小包,看看它是不是能够成功返回。
看到运行结果后,你就会发现你上述的理解是偏颇的。
zsgszy
2003-09-18
打赏
举报
回复
to Hewwatt,
请问运行的结果如何呢,能解释一下吗?
dchengwang
2003-09-18
打赏
举报
回复
我觉得同步方式和异步方式用函数是说不清楚的,同步(异步)方式是一种机制。同步方式是指必须得到确认之后才能进行下一个事件,就是的阻塞摸式,如TCP,异步方式则不需要,即非阻塞摸式,如UDP
Hewwatt
2003-09-18
打赏
举报
回复
都不是:
同步方式发送成功返回,和异步方式调用请求最终完成(通过重叠I/O,完成端口获知)
都只表示用户提供的数据已经存放入系统TCP/IP协议栈的发送缓冲中,只要有可能
这些缓冲就会立即或稍后经由网络发送出去。
一句话,当发送请求成功后,你唯一可以相信的就是数据已经在路上了,你没有机会
保证数据一定最终到达目对端,也没有机会不让这些数据发送过去。
当同步发送被阻塞或者异步请求长时间不能完成,只能说明:
如果是TCP的话,那就是系统缓冲区中还有数据未发送,或者数据虽然发送了,但是
一直没有得到目的端TCP的ACK应答,因此由于这些数据不能从系统缓冲区中移走(否则
的话无法实现TCP超时重传等机制),而导致缓冲区不可用(不能再接收用户新的发送数据
的提交)。
如果是UDP的话,最可能的情况是用户发送数据的频率过快,或系统缓冲区相对过小。
vagabondkq
2003-09-18
打赏
举报
回复
同步方式:函数返回,代表要发送数据到达自己的发送缓冲区内;
异步方式:函数立即返回,通知系统把数据放入自己的发送缓冲区。
小程序JS
同步
与
异步
/Promise对象/async/await精讲
web前端
同步
与
异步
、Promise、async、await ~ 小程序案例讲解 JS
异步
编程与Promise,还有async与await实例详解,助你提升javascript开发功力
同步
方式
与
异步
方式
的
区别
同步
方式
与
异步
方式
的
区别
异步
请求是进行局部刷新,
同步
请求是进行整体刷新
异步
请求是由ajax的引擎发起的,
同步
请求是由浏览器发起的
异步
请求在请求发起之后还没收到响应之前还可以再次发起其它请求...
网络传输的两种
方式
——
同步
传输和
异步
传输的
区别
在网络通信过程中,通信双方要交换数据,需要高度的协同工作。为了正确的解释信号,接收方必须确切地...通常可以采用
同步
或
异步
的传输
方式
对位进行
同步
处理。 1.
异步
传输(Asynchronous Transmission):
异步
传输...
java接口
同步
响应和
异步
响应的
区别
_
同步
请求和
异步
请求的
区别
同步
请求和
异步
请求的
区别
先解释一下
同步
和
异步
的概念
同步
是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯
方式
。
异步
是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯...
同步
和
异步
的
区别
原文地址:
同步
和
异步
,
区别
同步
:
同步
的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章