[英]How C# StreamReader.readLine() distincts newline characters?
假设我使用 tcp 客户端和 tcp 服务器并通过 streamwriter/streamreader 传输数据。 客户端向服务器发送“HELLO WORLD ... some text ... \r\n”。
服务器可以通过多种方式读取它: "HELLO WORLD ... some text ... \r\n"; "HELLO" "世界...一些文字... \r\n"; "HELLO WORLD ...一些文字... \r" "\n";
有 3 个换行符 "\r"、\r\n"、\n",具体取决于操作系统。
它怎么知道发送的是“\r”还是“\r\n”?
如果它试图再读一个字节,它可能会永远挂起,因为 read func 被阻塞了。 如果它没有尝试再读取一个字节,它可能会在流中留下“\n”,这将被下一个函数调用读取,从而导致错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.