Dav*_*vid 3 c# sockets network-programming tcp eof
我正在为交钥匙网络通信编写ac#库.我正在寻找一个非模糊的字节,我可以在我的库中使用它来指示数据块的结束.目标是能够发送任何文件或字符串,无论格式如何.Null字符是否会这样做,以至于它不会与TCP连接混淆,并且任何文件或字符串都不应该在它的数据中.
提前致谢.
编辑:BTW客户端和服务器都是我的库的一部分,因此它不需要遵守任何其他标准.
在Answers之后:我将创建一个X字节数组,然后使用最后一个字节来指示EOF是否位于(X-1)字节块中.
Eri*_* J. 10
你问不可能
"任何文件或字符串"可以包括任何字节序列.
这使得完全不可能找到EOF字节.即使是字节序列也不能保证在所有情况下都能正常工作.
解决方案:提前知道文件大小
发送数据长度作为通信标头的一部分.
解决方案:文件大小未知/流媒体
定义一个包含标记的数据结构,以确定是否有更多数据与文件内容分开.