1.
来自MSDN:
NetworkStream 类提供在阻止模式下通过 Stream 套接字发送和接收数据的方法。有关阻止与非阻止 Socket 的更多信息,请参见 使用异步客户端套接字。可以在同步和异步数据传输时使用 NetworkStream 类。有关同步和异步通信的更多信息,请参见 套接字。
若要创建 NetworkStream,必须提供连接的 Socket。也可指定 NetworkStream 对所提供的 Socket 具有哪些 FileAccess 权限。默认情况下,关闭 NetworkStream 并不会关闭所提供的 Socket。如果希望 NetworkStream 具有关闭所提供的 Socket 的权限,必须将 ownsSocket 参数的值指定为 true。
将 Write 和 Read 方法用于简单的单线程同步阻止 I/O。若要使用不同的线程来处理 I/O,则请考虑使用 BeginWrite 和 EndWrite 方法,或 BeginRead 和 EndRead 方法进行通信。
NetworkStream 不支持对网络数据流的随机访问。CanSeek 属性用于指示流是否支持查找,它的值始终为 false;读取 Position 属性、读取 Length 属性或者调用 Seek 方法都会引发 NotSupportedException。