社区
通信技术
帖子详情
Windows下socket发了一次数据, 有可能多次才收到吗?
xfchina
2000-08-17 12:35:00
一般情况下,我是一次都收到了,我想知道否有必要做一定的处理
...全文
197
4
打赏
收藏
Windows下socket发了一次数据, 有可能多次才收到吗?
一般情况下,我是一次都收到了,我想知道否有必要做一定的处理
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Chen_Lin
2000-08-17
打赏
举报
回复
发包的长度超过缓冲区的时候(默认8K)
xfchina
2000-08-17
打赏
举报
回复
假如我的包不超过8k,会多次收到吗?我的程序在包不超过1k的情况下,在internt上反复测试也没有收到多次的情况,顶多收到两个一样的数据包,我会忽略第二个包。
Kevin_qing
2000-08-17
打赏
举报
回复
當然可能多次才收到了,不信在inet上测测。
kingwill
2000-08-17
打赏
举报
回复
那要看你使用何种类了,CAsyncSocket是非阻塞的异步方式。如果你发包的长度超过缓冲区的时候,会返回SOCKET——ERROR,此时你要判断错误值,GETLASTERROR(),若错误为WSAEWOULDBLOCK,则说明对方缓冲区已满,你需要控制重发。
要是你用CSOCKET类,它是阻塞的,当对方缓冲区满时,它会自己阻塞自己,直到对方完全收到。这种情况,你也要控制避免SOCKET阻塞线程,最好用TIMEOUT,再重发。
一般的情况都是用非阻塞,多线程,来实现同步。
Windows
下的
socket
编程
一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换
数据
的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行...
Socket
Receive
数据
一次
性接收不全的问题
Socket
Receive
数据
一次
性接收不全的问题
2,
socket
循环接收
数据
:
socket
循环接收大
数据
,问:
socket
异步接收
数据
?
答:客户端接收缓冲区设置多大就接收多大的
数据
包,当然发送端发送
数据
大于客户端缓冲区时,接收函数完成
一次
接收后会返回当前
数据
大小,你可以根据返回的做循环... 问:C#
socket
循环接收
socket
接收
数据
如果...
【
Windows
编程】
Windows
Socket
API介绍
目录01、目录02、浅谈
Socket
(套接字)03、浅谈TCP/IP七层模型04、浅谈三次握手,四次挥手05、
Socket
API介绍5.1 WSAStartup5.2 WSAClearup5.3
socket
5.4 close
socket
5.5 bind5.6 Listen5.7 accept5.8 connect5.9 ...
windows
下
socket
之accept说明
首先,
windows
下
socket
编程流程已经非常明白了,服务
通信技术
4,354
社区成员
28,926
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章