从网络流中读取而不会丢失数据

时间:2013-08-30 14:53:07

标签: c# sockets networkstream

我有客户端 - 服务器应用程序。我需要异步查看客户端发送给服务器的内容并做出相应的反应。我只能访问网络流,因此如果我使用NetworkStream.Read(),我将丢失流中的数据。我试图将数据写回流但是我仍然无法访问服务器端的流。

有没有办法偷看NetworkStream?如果我没有弄错,可以使用套接字对象并调用Receive方法。问题是NetworkStream中的socket属性受到保护,所以我无法使用它。我可以以某种方式访问​​这个特定的套接字吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

不,基本上。它没有暴露任何peek API。你必须维护自己的缓冲区。注意:您也无法写回读取流 - 如果您写入NetworkStream,则将该数据发送到另一台计算机。