社区
C语言
帖子详情
C/C++ 中的关于recv send函数
xuwmzi
2010-05-28 09:19:08
我们公司用TCP 发送数据时,包括简单消息,都用循环加这两个函数,这样的话,当消息很少时,就必须得双方先指定好消息的长度。也就是说得多发送一次数据。否则双方就死锁。全都在等待数据。
请问一下,这是正常的解决方式么?
如果用循环,那么每次发送多少数据合适呢?
...全文
189
2
打赏
收藏
C/C++ 中的关于recv send函数
我们公司用TCP 发送数据时,包括简单消息,都用循环加这两个函数,这样的话,当消息很少时,就必须得双方先指定好消息的长度。也就是说得多发送一次数据。否则双方就死锁。全都在等待数据。 请问一下,这是正常的解决方式么? 如果用循环,那么每次发送多少数据合适呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
newzai
2010-05-28
打赏
举报
回复
收发一般使用不同的线程。或者使用select就可以放在同一个线程了。
如果使用的是tcp,一般要有自己定义的规则去分隔数据量的片段。否则接收方无法知道何时接收一个完整的包。
至于如何分隔数据流,而已附加一个长度,或者起始结束符。
wangxipu
2010-05-28
打赏
举报
回复
1. 确实情况下,recv和send都是阻塞的,也就是说如果没有数据会一直等下去。
2. winsock没有做任何的传输可靠的保障,所以需要自己确保,可以将数据打包成一个结构体,前面添加一些控制头信息,先接收或发送这部分东西。
3. 一般来说,不建议send和recv写在同一个线程里,这样相互等待很不好。
hook
send
recv
wsa
send
wsa
recv
封包工具源码
hook
send
recv
wsa
send
wsa
recv
封包工具源码 本工具支持命令行操作,采用远程线程注入目标进程,注入后hook发包
函数
,实现封包拦截。 主程序为MFC编写 动态链接库VC WIN32项目
ws2_32.dll 拦截
send
函数
并把发送内容写到ob文件里
对网络数据的拦截,其
中
列出
send
函数
例子,把
send
的内容写入ob文件.
http服务器 c/
c++
写成 (只使用了socket)
只用到了socket
send
recv
等基础socket
函数
写成的多线程http网页服务器。一般静态网页的显示以及多人同时访问都没有问题。使用内存映射文件技术读取资源,可载入较大的网页资源。
socket_linux_client.c
#include <stdlib.h> //标准
函数
库 #include <errno.h> //定义错误码 #include <string.h>//字符串处理 #include #include <sys/types.h>//
send
();
recv
(); #include <netinet/in.h>//htons(); #include <sys/socket...
C、
C++
发邮件程序
C++
发邮件程序,跟据SMTP协议(RFC 821),采用
send
和
recv
函数
编写。
C语言
69,373
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章