为什么recv的返回值为1?

Clampard 2017-06-22 05:36:19

外加个问题:
一般recv的数据处理缓冲区有哪些实现的比较好点的方法?
...全文
381 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Clampard 2017-06-23
  • 打赏
  • 举报
回复
引用 6 楼 lianshaohua 的回复:
[quote=引用 5 楼 qq_38374462 的回复:] [quote=引用 4 楼 lianshaohua 的回复:] [quote=引用 3 楼 qq_38374462 的回复:] [quote=引用 1 楼 lianshaohua 的回复:] 到达的数据上次没有收到,可能到达的数据比你的接收缓冲我多了一个字节,下次收的时候新的数据还没有到达,所以就收到了1字节的数据。 建议:接收数据和处理数据分开
是拷贝进处理缓冲区还是”移动“?需要用到什么函数?[/quote] 我通常使用拷贝,把接收缓冲区的数据根据接收以的字节数拷贝到处理缓冲区。[/quote] 拷贝到处理缓冲区的时候怎么吧两次接收的数据隔开呢?[/quote] 不需要隔开,解析的时候存在合并多次接收数据的问题[/quote] 对我帮助很大,非常感谢。
ztenv 版主 2017-06-23
  • 打赏
  • 举报
回复
引用 5 楼 qq_38374462 的回复:
[quote=引用 4 楼 lianshaohua 的回复:] [quote=引用 3 楼 qq_38374462 的回复:] [quote=引用 1 楼 lianshaohua 的回复:] 到达的数据上次没有收到,可能到达的数据比你的接收缓冲我多了一个字节,下次收的时候新的数据还没有到达,所以就收到了1字节的数据。 建议:接收数据和处理数据分开
是拷贝进处理缓冲区还是”移动“?需要用到什么函数?[/quote] 我通常使用拷贝,把接收缓冲区的数据根据接收以的字节数拷贝到处理缓冲区。[/quote] 拷贝到处理缓冲区的时候怎么吧两次接收的数据隔开呢?[/quote] 不需要隔开,解析的时候存在合并多次接收数据的问题
Clampard 2017-06-23
  • 打赏
  • 举报
回复
引用 4 楼 lianshaohua 的回复:
[quote=引用 3 楼 qq_38374462 的回复:] [quote=引用 1 楼 lianshaohua 的回复:] 到达的数据上次没有收到,可能到达的数据比你的接收缓冲我多了一个字节,下次收的时候新的数据还没有到达,所以就收到了1字节的数据。 建议:接收数据和处理数据分开
是拷贝进处理缓冲区还是”移动“?需要用到什么函数?[/quote] 我通常使用拷贝,把接收缓冲区的数据根据接收以的字节数拷贝到处理缓冲区。[/quote] 拷贝到处理缓冲区的时候怎么吧两次接收的数据隔开呢?
ztenv 版主 2017-06-23
  • 打赏
  • 举报
回复
引用 3 楼 qq_38374462 的回复:
[quote=引用 1 楼 lianshaohua 的回复:] 到达的数据上次没有收到,可能到达的数据比你的接收缓冲我多了一个字节,下次收的时候新的数据还没有到达,所以就收到了1字节的数据。 建议:接收数据和处理数据分开
是拷贝进处理缓冲区还是”移动“?需要用到什么函数?[/quote] 我通常使用拷贝,把接收缓冲区的数据根据接收以的字节数拷贝到处理缓冲区。
Clampard 2017-06-23
  • 打赏
  • 举报
回复
引用 1 楼 lianshaohua 的回复:
到达的数据上次没有收到,可能到达的数据比你的接收缓冲我多了一个字节,下次收的时候新的数据还没有到达,所以就收到了1字节的数据。 建议:接收数据和处理数据分开
是拷贝进处理缓冲区还是”移动“?需要用到什么函数?
sdghchj 2017-06-22
  • 打赏
  • 举报
回复
>的优先级高于= int n = recv() > 0的结果是n = true,自然是1 (int n = recv()) > 0
ztenv 版主 2017-06-22
  • 打赏
  • 举报
回复
到达的数据上次没有收到,可能到达的数据比你的接收缓冲我多了一个字节,下次收的时候新的数据还没有到达,所以就收到了1字节的数据。 建议:接收数据和处理数据分开

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧