Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何读取传入的tcp流,直到找到分隔符为止?_C#_Tcp_Network Programming - Fatal编程技术网

C# 如何读取传入的tcp流,直到找到分隔符为止?

C# 如何读取传入的tcp流,直到找到分隔符为止?,c#,tcp,network-programming,C#,Tcp,Network Programming,在C#中找到特定的分隔符之前,如何读取传入的tcp流? 我提出的唯一可能的解决方案是每次读取一个字节的传入流。读取TCP套接字和扫描分隔符是两件不同的事情 您可以将非阻塞套接字上的所有可用数据读入字节数组/字符串,然后扫描字节数组以查找分隔符。执行您需要执行的任何其他操作,包括可能在分隔符后保存数据以供下次读取尝试 最好使用某种类型的缓冲区将传入数据添加到中,这样套接字操作就不会确切地指示数据的处理。我支持这一点。读得慢一点也不会改变管道中传给你的内容,它只会导致从socket/stream.Y

在C#中找到特定的分隔符之前,如何读取传入的tcp流?
我提出的唯一可能的解决方案是每次读取一个字节的传入流。

读取TCP套接字和扫描分隔符是两件不同的事情

您可以将非阻塞套接字上的所有可用数据读入字节数组/字符串,然后扫描字节数组以查找分隔符。执行您需要执行的任何其他操作,包括可能在分隔符后保存数据以供下次读取尝试


最好使用某种类型的缓冲区将传入数据添加到中,这样套接字操作就不会确切地指示数据的处理。

我支持这一点。读得慢一点也不会改变管道中传给你的内容,它只会导致从socket/stream.Yep读取的效率低下。从TCP套接字一次读取一个字节是非常低效的。将套接字中的数据读入字节数组,然后处理字节数组。是字节分隔符还是文本(字符)分隔符?