社区
网络编程
帖子详情
问一个send函数的问题
freebob2000
2006-04-20 12:47:41
使用tcp协议
如何使send函数每次直接将包发出而不将几个包封装在一起发出
谢谢
...全文
310
8
打赏
收藏
问一个send函数的问题
使用tcp协议 如何使send函数每次直接将包发出而不将几个包封装在一起发出 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dasiu
2006-04-21
打赏
举报
回复
问题可以变通解决:
发送/接收双方按照一定的协议发送/接收,例如:数据头+控制吗+数据长度+数据+crc验证+数据尾,在发送方按照协议发送数据,接受方捷到数据后,将数据存入缓冲区,然后分析所有接到的数据,。。。
这样解决相当可靠,合理。
freebob2000
2006-04-20
打赏
举报
回复
不是这个意思
比如
send()
send()
客户端一个recv就收到
我想要2个recv分别来收
striking
2006-04-20
打赏
举报
回复
那就循环一个一个发嘛,这么简单。
danscort2000
2006-04-20
打赏
举报
回复
其实你这个保证是没有意义的
在实验室也许OK
但是到了INTERNET上就不是这么回事情了
TCP是流,不能分割的
因为TCP由IP来实现
你的IP层是无法在整个链路中保证所有内容被封在一个包中而不被分解
万一人家TCP缓冲只有20个字节空余
那么你怎么封都没用
如果中间有个路由对包大小有苛刻要求,也有可能被分解
所以编写TCP程序一定要看成流,
看成包,只能自讨苦吃
另外没有什么粘包这种概念的
快乐鹦鹉
2006-04-20
打赏
举报
回复
创建和缓冲区一样大小的空间对象,把发送的内容填入。设置好内容结束标志,剩余空间存放垃圾信息。这样就不会两段合起来发了。
feeboby
2006-04-20
打赏
举报
回复
你可以禁用 Nagle 算法
setsockopt( sock, IPPROTO_TCP, TCP_NODELAY, (char *)&bNodelay, sizoeof(bNodelay));
striking
2006-04-20
打赏
举报
回复
那你要定义报文头。
就是在你的包 的 最前面 定义 一个 变量 存储此次发的包的 大小。
比如
struct head
{
int nSize;
}
struct Data
{
head h;
char data[10];
}
那head的大小是固定的, recv的时候, 先接收sizeof(head)的字节, 转化成head,
读取nSize的内容, 继续recv nSize的大小的数据。
DentistryDoctor
2006-04-20
打赏
举报
回复
自己在应用层先拼好?
Socket
send
函数
和recv
函数
详解
1.
send
函数
int
send
( SOCKET s, const char ...客户程序一般用
send
函数
向服务器发送请求,而服务器则通常用
send
函数
来向客户程序发送应答。 该
函数
的第
一个
参数指定发送端套接字描述符; 第二个参数指明
一个
...
Socket中
send
()
函数
和rece()
函数
详解
1、
send
函数
int
send
(SOCKET s, const char FAR *buf. int len,int flags); 不论是客户还是服务器应用程序都是用
send
函数
来向TCP连接的另一端发送数据。 客户程序一般使用
send
函数
向服务器发送请求,而服务器则...
TCP
send
函数
阻塞发送数据详解
send
函数
int
send
( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用
send
函数
来向TCP连接的另一端发送数据。...该
函数
的第
一个
参数指定发送端套接
Socket中
send
()
函数
和recv()
函数
详解
目录1、
send
函数
2、recv
函数
关于socket的
send
和recv的超时设置 1、
send
函数
int
send
( SOCKET s, const char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用
send
函数
来向TCP连接的另一端发送...
send
函数
详解
send
函数
详解
send
send
to
send
msg 说明:本文主要是对man 帮助文档的翻译,若有错误,欢迎指正。
send
send
:是
一个
系统调用
函数
,用来发送消息到
一个
套接字中,和
send
to,
send
msg功能相似。 概要: #include <...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章