【发布时间】:2014-12-15 03:19:09
【问题描述】:
我正在使用 C# 来制作服务器和客户端。我希望它阻止我正在做的事情。当我使用 NetworkStream.read() 时,它会阻塞,我喜欢这样。问题是当我使用 NetworkStream.ReadByte() 时,它不会阻塞。相反,当没有传入字节时,它返回 -1。如何让 NetworkStream.ReadByte() 像 NetworkStream.read() 一样阻塞?
我尝试将 NetworkStream.ReadByte() 包含在 NetworkStream.DataAvailable 中,但这也不起作用。我只是希望NetworkStream.ReadByte() 阻止。有什么想法吗?
【问题讨论】:
-
您得到的答案是,根据您的要求,恕我直言是最好的。但是:我认为您应该重新考虑 both 使用阻塞范式的决定,尤其是尝试一次读取一个字节的决定。
标签: c# network-programming tcpclient tcplistener