C# 从NetworkStream读取到分隔符

C# 从NetworkStream读取到分隔符,c#,tcpserver,C#,Tcpserver,从NetworkStream读取某些分隔符(例如“\n”)的最佳方式是什么 我有以下代码: NetworkStream clientStream = tcpClient.GetStream(); var message = new byte[4096]; while (true) { int bytesRead = 0; try {

从NetworkStream读取某些分隔符(例如“\n”)的最佳方式是什么

我有以下代码:

        NetworkStream clientStream = tcpClient.GetStream();
        var message = new byte[4096];

        while (true)
        {
            int bytesRead = 0;

            try
            {
                bytesRead = clientStream.Read(message, 0, 4096);
            }
            catch
            {
                // Exception
            }
            Response(message);
        }

问题是,从客户端发送类似“某些文本\n在newline上继续”的内容,但我想先回答“某些文本”,然后接受下一行并发送响应。

如果您只想阅读一行,请在
网络流上使用
并调用其
ReadLine
方法:

NetworkStream strm = client.GetStream();
StreamReader reader = new StreamReader(strm);
String line = reader.ReadLine();

但我可以指定分隔符吗?@JanKirchner
StreamReader
只提供基本方法,如
ReadLine
ReadToEnd
您必须实现自己的自定义方法delimiters@JanKirchner阅读此问题的答案为ReadLine方法提供了自定义实现,您可以对其他方法执行相同的操作分隔符