社区
网络编程
帖子详情
Winsock,TCP通信接收方的疑问。
i ama
2005-10-17 09:21:12
用TCP通信,发送方在发送消息的时候消息间用分割符分开
比如发送方依次发送下面4条消息:
AAAAAA#
BBBBBB#
CCCCCC#
DDDDDD#
由于网络传输速度的问题,此时接收方有没有可能接收到这样两条消息:
AAAAAA#BBBBBB#CCC
CCC#DDDDDD#
即一次完整的发送“CCCCCC#”被截断了?
...全文
488
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
打赏
举报
回复
可能哦
C语言实现基于
TCP
和UDP的
WinSock
套接字编程(
WinSock
相关函数分析)
个人博客主页 https://www.boolo.top C语言实现基于
TCP
和UDP的
WinSock
套接字编程一.
TCP
协议和UDP协议的简介和区别1.
TCP
协议2. UDP协议3. 二者的区别二.
WinSock
套接字简介三. 基于
TCP
协议实现1. 实现流程2.
WinSock
函数分析3. 服务器端实现代码(
TCP
)4. 客户端实现代码(
TCP
)四. 基于UDP协议实现 一.
TCP
协议和UDP协议的简介和区别 1.
TCP
协议 传输控制协议(...
Winsock
多线程
TCP
通信
#include<
WinSock
2.h> #pragma warning(disable:4996) #pragma comment(lib,"ws2_32.lib") #include<stdio.h> SOCKET clientSocket[1024]; int index = 0; DWORD proc(LPVOID lpThreadParameter) { ...
C/C++:
WinSock
_
TCP
通信
实例
1.AF地址族 1.SOCKADDR本地地址结构体 2.SOCKADDR_IN
TCP
/IP地址结构体 案例:指定端口号代码 案例:指定 IP地址代码 三、监听套接字 四、
接收
连接请求 1.accept()函数 函数原型如下: 2.connect()函数 函数原型如下: 五、收发数据 1.send()函数 函数原型如下 2.recv()函数 函数原型如下
利用
Winsock
实现UDP
通信
UDP
通信
的C语言实现UDP
通信
的定义
Winsock
用于
通信
的结构体服务端socket建立服务端程序源码用户端socket建立用户端程序源码信息的
接收
与发送UDP
通信
的特点 UDP
通信
的定义 Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的
方
法。
Winsock
用于
通信
的结构体 首先认识几个Windows提供的结构体: WORD:为微软SDK中的类型,为
C++封装的基于
WinSock
2的
TCP
服务端、客户端
无聊研究
Winsock
套接字编程,用原生的C语言接口写出来的代码看着难受,于是自己简单用C++封装一下,把思路过程理清,
方
便自己后续翻看和新手学习。 只写好了
TCP
通信
服务端,有空把客户端流程也封装一下。 先上主函数: // main.cpp : 异想家sandeepin poi! #include "stdafx.h" #include extern int J
TCP
server()
网络编程
18,356
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章