edgar108 2012-09-16 19:27 采纳率: 100%
浏览 251
已采纳

TCP怎么传文件比较好?

在写一个桌面监控程序,客户端每隔100毫秒会和服务器发送一个截图文件。
现在的问题是所有的文件都通过一个tcp连接发送,还是一个文件新建一个连接?

如果每个文件建一个连接,100毫秒一个连接是不是太频繁了?

如果所有文件都是一个连接的话,服务器要知道文件的大小,再开一个新端口专门接受文件的大小。
所有的文件内容都是在一个连接中接收的,再根据接收到的大小去一个个分割byte数组。

这个思路对么?

  • 写回答

6条回答 默认 最新

  • 马铭洋 2012-09-17 09:03
    关注

    我的思路是这样的,一个固定端口(客户端,服务器端各一个),用来进行c/s对话的,客户端想服务端发送文件信息(一段固定格式字符串),包括(文件名,文件大小,其他信息,用来告诉服务器端你想要干嘛),服务器端接收到信息后进行解析,然后新开一个监听端口,并把此端口信息发送给客户端(通过固定的对话端口),客户端通过对话端口接收到信息后,连接服务端的临时传送端口,传送文件.文件传送完毕后,这个端口就关闭了.服务器端建议使用多线程新开端口.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?