社区
网络编程
帖子详情
如何判断对方是否成功接收到通过socket发送的信息?
zsgszy
2003-09-15 06:12:10
如何判断对方是否成功接收到通过socket发送的信息?
是不是通过发送函数的返回值来判断呢?
...全文
1988
9
打赏
收藏
如何判断对方是否成功接收到通过socket发送的信息?
如何判断对方是否成功接收到通过socket发送的信息? 是不是通过发送函数的返回值来判断呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mwtmwt01
2003-09-16
打赏
举报
回复
包头定义接收包的大小,客户端在一个线程中收,接到的数据为包的大小时,回复一个包让服务端确认后发下一包,时实要用internet的函数测网络连接是否正常,一切OK
kof99th
2003-09-16
打赏
举报
回复
象tcp协议一样,对每次的数据传输发送确认,就是发ack包。超时重发。
thd111
2003-09-16
打赏
举报
回复
需要应用协议支持
HanZhu1
2003-09-16
打赏
举报
回复
对方接到后给个回复不就行了
zsgszy
2003-09-15
打赏
举报
回复
如果说发送函数返回值是成功的话,是不是就一定表示我发送的数据已经在接收方的缓冲区内?如果是的话,那我是否能通过在接收方设置一个接收server来不停的等待我的信息,来保证我的发送成功的消息一定能够得到处理?
athlonliu
2003-09-15
打赏
举报
回复
是的,通过客户端回复一个消息来确认,更加准确一点的话,可以回复收到的字节数
OnReceive()
{
...
unsigned int received=Receive(buff,len);
...
send(received,sizeof(unsigned int));
}
wflyfox
2003-09-15
打赏
举报
回复
接收到以后再发送一个信息到另一端,类试三次握手协议。
OnReceive()
{
Send(buff,len);
}
孤必有邻
2003-09-15
打赏
举报
回复
如果把完整的通讯过程划分为三部分:发送,传输,接收,那么发送只能保证前两个的可靠性,即数据到达对方主机的接收缓冲区,至于对方是否取出并处理,就不知道了。但是在程序没有故障的情况下,不会因为系统忙而丢失数据,当接收缓冲区满(因为来不及处理)时,发送会提示失败。
风龙-3
2003-09-15
打赏
举报
回复
发送函数的返回值只能表示系统成功,并不能保证你对端的应用正确接收了,有可能对端由于太忙,接受到,就直接扔掉。应该通过自己的应用协议来保证
Socket
编程快速入门
本课程将理本课程将理啊 论结合实践,带你从零开始,系统学习
Socket
编程技术,让
Socket
的学习不再那么零散与难以掌握,同时会提炼出
Socket
网络传输的核心思想与构架,并带你踩坑出坑,增加你的分析与处理问题的啊aasa 能力,完善你的编程思想与知识体系。论结合实践,带你从零开始,系统学习
Socket
编程技术,让
Socket
的学习不再那么零散与难以掌握,同时会提炼出
Socket
网络传输的核心思想与构架,并带你踩坑出坑,增加你的分析与处理问题的能力,完善你的编程思想与知识体系。
当应用程序调用Send之后怎么
判断
对方
是否
成功
接收
?
作者:郭无心链接:https://www.zhihu.com/question/25016042/answer/73785738来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 首先,TCP是可靠的数据连接,send过去的数据,一定会被对方
接收
到,除非连接断开。TCP和上层应用之间是网络层和应用层之间的关系,TCP收到的ACK只能表明对端TCP收到了相应的数据在...
Socket
发送
请求“超时”——
接收
数据方式引起的bug
Socket
发送
请求“超时”——
接收
数据方式引起的bug 一、场景描述 前段时间对接某家银行的资管外围系统,测试环境测试通过,联调报告经银行风控部门审批通过,上线时出现严重问题(不能正常
发送
/
接收
请求):
发送
请求
成功
、
接收
数据失败并抛出
Socket
TimeoutException。 对接使用的技术:
Socket
(接触的两家银行(一家股份制商业银行、一家国有银行(四大行之一))的外
Socket
发送
缓冲区
接收
缓冲区快问快答
首先,我们要明确一下,通过
socket
发送
数据之后(调用
发送
方法),数据并不是会直接
发送
到
接收
方。整个过程简略图如下:最终数据
发送
是要通过网卡的,但是
socket
没法直接将数据
发送
到网卡,所以只能先将数据
发送
到操作系统数据
发送
缓冲区。然后网卡从数据
发送
缓冲区中获取数据,再
发送
到
接收
方。
socket
接收
数据,也不是直接从对端获取的。整个过程简略图如下:首先
接收
方机器网卡
接收
到
发送
方的数据后,先将数据保存到操作系统
接收
缓冲区。...
2,
socket
循环
接收
数据:
socket
循环
接收
大数据,问:
socket
异步
接收
数据?
问:
socket
异步
接收
数据? 1、客户端
发送
给服务器的字节长度大于服务器
接收
默认的字节长度的话,服务器会... 答:客户端
接收
缓冲区设置多大就
接收
多大的数据包,当然
发送
端
发送
数据大于客户端缓冲区时,
接收
函数完成一次
接收
后会返回当前数据大小,你可以根据返回的做循环... 问:C#
socket
循环
接收
socket
接收
数据如果对方没有返回 Recv。方法回阻塞线程而且会卡死
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章