我计划让一个套接字读取数据,直到它到达 \n 字符(为了从数据流中读取单个消息)。但是,如果您发送的消息恰好包含与 \n 字符匹配的字节,会发生什么情况?那不会过早地结束阅读并搞砸一切吗?人们通常如何阅读直到数据中的某个部分?
好的,Joe 提供了很多很好的替代阅读直到“\n”字符。(现在我想起来了,\n 可能只用于基于文本的东西)
引用 Joe:这里有很多选择。1)当分隔符是内容的一部分时,用某些东西代替分隔符。2) 选择一个比 \n 不太可能的分隔符。3)在您解析的每条消息之前包含一个消息长度。和
#3 似乎是完成我想做的事情的最佳方式。