CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Linux/Unix社区 >  程序开发区

Linux下怎么用read或recv函数完全接收socket发来的数据?

楼主youyingbo()2006-03-10 17:38:57 在 Linux/Unix社区 / 程序开发区 提问

int   recv(int   sockfd,   void*   buffer,   int   len,   unsigned   int   flags)  
   
  对方发来的数据是一包一包来的,就是说对方发送一个完整的信息时,多次调用send()函数,我怎么才能全部接收这些send()发来的数据呢? 问题点数:20、回复次数:3Top

1 楼OverIsOver(花不飘零水不流(ˉωˉ)纵使要梦说穿,缘了就是完^ō^刪去絲絲斷綫 盼望可將結果扭轉◆晕就一个字哈◇)回复于 2006-03-10 18:17:22 得分 2

tcp还是udp呢?udp的话要判断是否丢包了  
  每次收包的时候,把收到的数据放到另一个临时缓冲区里Top

2 楼lanying(蓝鹰)(问个不休)回复于 2006-03-10 19:07:16 得分 18

TCP是面向流的协议,没有边界的,需要你自己定义。  
  例如可以在报头加个长度字段,或者在报文的末尾添加结束符Top

3 楼lanying(蓝鹰)(问个不休)回复于 2006-03-10 19:08:22 得分 0

接收的时候根据报文长度之类的信息,不断调用recv,直到接收完毕为止Top

相关问题

  • socket编程:recv(...)函数问题求救
  • 哪位高手可以解释一下为什么Linux下的socket函数recv(),不被信号中断掉?
  • 请问下linux SOCKET recv()函数如何被中断,小弟急呀大家帮忙 马上给分
  • socket编程中关于recv函数的一些疑问
  • 请问Symbian中socket send/recv 的同步函数是什么?
  • 做socket程序,用recv,send这些函数好还是用fread,fwrite好?
  • socket 的 ReceiveBuf 函数问题
  • socket编程:select函数
  • Linux下clone函数问题
  • Linux下的函数库

关键词

  • 函数
  • 数据
  • 信息
  • tcp
  • 接收
  • recv
  • 报文
  • 调用
  • 发来的数据
  • 长度

得分解答快速导航

  • 帖主:youyingbo
  • OverIsOver
  • lanying

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo