套接字的“消息结束”字符串

时间:2009-11-03 02:22:55

标签: c# sockets

套接字消息模式的消息标记的好结尾是什么,以便在收到消息时将其分开?

我一直在使用<EOF>,但这似乎是一个字节或太长,并且可能会在消息中发送,特别是在发送XML数据时。

谢谢!

2 个答案:

答案 0 :(得分:6)

一种方法是类似于AMF3:在每条消息之前,发送一个4字节的长度,指示将作为消息发送的数据的字节数。这样,即使是0字节的“空消息”也可以发送,并且不需要转义机制。

答案 1 :(得分:1)

如果您将消息数据限制为可打印字符,则有几个control characters可供选择(ETX,EOT,Ctrl-Z,FS,EM等),这些数据在历史上一直用于发出信号< em>消息结束。