社区
网络编程
帖子详情
Winsock,TCP通信接收方的疑问。
i ama
2005-10-17 09:21:12
用TCP通信,发送方在发送消息的时候消息间用分割符分开
比如发送方依次发送下面4条消息:
AAAAAA#
BBBBBB#
CCCCCC#
DDDDDD#
由于网络传输速度的问题,此时接收方有没有可能接收到这样两条消息:
AAAAAA#BBBBBB#CCC
CCC#DDDDDD#
即一次完整的发送“CCCCCC#”被截断了?
...全文
463
10
打赏
收藏
Winsock,TCP通信接收方的疑问。
用TCP通信,发送方在发送消息的时候消息间用分割符分开 比如发送方依次发送下面4条消息: AAAAAA# BBBBBB# CCCCCC# DDDDDD# 由于网络传输速度的问题,此时接收方有没有可能接收到这样两条消息: AAAAAA#BBBBBB#CCC CCC#DDDDDD# 即一次完整的发送“CCCCCC#”被截断了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MFCBibe
2005-10-23
打赏
举报
回复
TCP 发送的是 stream,没有分割点。
UDP 发送的是 消息包,有分割点。
建议看看 windows网络编程技术 这本书,网络上有 PDF 下载的。
xxrl
2005-10-19
打赏
举报
回复
数据包头部包含数据包长度,解析长度,判断,错误则丢弃,发送重新请求指令
bm1408
2005-10-18
打赏
举报
回复
典型的粘包问题~~
hjunxu
2005-10-18
打赏
举报
回复
晕哦。
这类问题因该搞个faq格。
Caps77
2005-10-18
打赏
举报
回复
http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=207387
alexpdl
2005-10-18
打赏
举报
回复
你需要在TCP数据包之前加上二个字节,来标识该包的长度,
接收端分析,再组成一个个完整的包,做法是,
把收到的数据包先放到一个大的缓冲区中,然后从每次先读包的长度的二字节,
再根据这个长度读后面的数据。
lifengice0706
2005-10-17
打赏
举报
回复
会有这种现象的,这是tcp的粘包,楼上说得带长度是个好办法!
worlftki
2005-10-17
打赏
举报
回复
这就是网络粘包的问题。如果要区分最好在每段数据之前发之前加上长度,收到之后再解析。
当然也可以收发之前都清空缓冲区。
property1
2005-10-17
打赏
举报
回复
gz
Jexhat
2005-10-17
打赏
举报
回复
可能哦
Qt实现
Winsock
网络编程—
Tcp
服务端和客户端
通信
(多线程)示例程序demo
Qt实现
Winsock
网络编程—
Tcp
服务端和客户端
通信
(多线程)示例程序demo https://blog.csdn.net/qq_29542611/article/details/83778389
PB9+
WinSock
例子
PB9
WinSock
例子,已测试通过。
VB
winsock
简单实例
tcp
连接
VB
winsock
简单实例
tcp
连源码
VC实现的
TCP
网络
通信
工具源码
VC实现的
TCP
网络
通信
工具源码,对于
TCP
入门及提高学习非常好。
VB
TCP
通信
示例(服务端+客户端)
用VB开发的
TCP
通信
示例,包括服务端和客户端
网络编程
18,358
社区成员
64,164
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章