C# 从NetworkStream读取到分隔符
从NetworkStream读取某些分隔符(例如“\n”)的最佳方式是什么 我有以下代码:C# 从NetworkStream读取到分隔符,c#,tcpserver,C#,Tcpserver,从NetworkStream读取某些分隔符(例如“\n”)的最佳方式是什么 我有以下代码: NetworkStream clientStream = tcpClient.GetStream(); var message = new byte[4096]; while (true) { int bytesRead = 0; try {
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();
但我可以指定分隔符吗?@JanKirchnerStreamReader
只提供基本方法,如ReadLine
和ReadToEnd
您必须实现自己的自定义方法delimiters@JanKirchner阅读此问题的答案为ReadLine方法提供了自定义实现,您可以对其他方法执行相同的操作分隔符