【发布时间】:2014-04-28 15:56:31
【问题描述】:
我有一个客户端程序和一个服务器程序。我发送 512 字节的数据包,我想发送一些文件。服务器如何知道传输何时完成?
我希望服务器程序在停止运行之前接收一些文件,并且我想区分它们。我想要做的是打印出收到的数据包数:
1号包已经收到
2号包已经收到
.
.
包号N已经收到
一旦我收到这个文件,我想把这个计数器变量设置为0,这意味着我必须检测一个文件何时被完全发送(这意味着接收不到512字节)。有没有办法计算从客户端程序接收到的字节数?最好的方法是什么?我正在使用字节数组。
【问题讨论】:
-
你需要建立某种框架。
-
您是否/必须使用 UDP 套接字? “数据包”的大小必须为 512 字节吗?如果改为使用 TCP,则会处理大量繁琐的工作,就像创建如此小的单个数据包的需要一样。 (使用 UDP,您还必须检测乱序或丢包等情况,并发出任何相关的重新请求。)