lcwyan
C5DX
采纳率100%
2017-02-25 02:19

服务器连续向客户端发送两个文件,客户端接收时怎么区分这两个文件的边界

已采纳

服务器连续两次调用send向客户端发送两个文件,客户端使用recv函数接收时怎么区分这两个文件的边界?
求大神解答

ps:
服务器代码:
send(fd, 文件1内容);
send(fd, 文件2内容);

客户端代码:
recv(fd, buffer);

像这样的逻辑,客户端会不会吧两个文件的内容都放到buffer呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • oyljerry oyljerry 4年前

    有可能,因为tcp都是数据流。接收端也都是一块块数据,并不会为你把文件分开,你需要自己加分隔符等来让接收方知道区分

    点赞 1 评论 复制链接分享
  • Fate_Dream Fate_Dream 4年前

    服务器给客户端发送信息都是通过打包发送的,这个包里面包含了协议,版本,数据大小和内容(这是最基本的),通过数据大小可以知道这个信息的大小,当然如果只是简单的一句话信息,完全可以自己申请一个合适的空间去接收,sizeof()可以知道大小的

    点赞 1 评论 复制链接分享

相关推荐