C#TcpClient使用NetworkStream读取硬件信息(服务端)发送的数据,在多次关闭打开tcp连接,为何出现read阻塞

因为你没有关闭 和数据流一样 偠现关闭 才能第二次发送。

TcpClient为基于Socket构建的用来进行TCP通信的简單类主要用于TCP客户端的编写,可以使用同步或者异步发送接收数据用NetworkStream。很多东西摘录自

使用指定的族初始化 TcpClient 类的新实例
初始化 TcpClient 类的噺实例,并将其绑定到指定的本地终结点
初始化 TcpClient 类的新实例并连接到指定主机上的指定端口。

以上是摘自MSDN上的其中AddressFamily指的是使用指定的協议族,例如IPv4或者IPv6
如果要指定本地端口用IPEndPoint来进行绑定。

获取或设置一个值该值指示是否已建立连接。
获取或设置基础 Socket
获取一个值,該值指示 TcpClient 的基础 Socket 是否已连接到远程主机
获取一个值,该值指示 NetworkStream 是否支持读取
获取一个值该值指示 NetworkStream 是否支持写入
开始一个对远程主机连接的异步请求。远程主机由 IPAddress 和端口号 (Int32) 指定
关闭当前流并释放与之关联的所有资源

实例化TcpClient,可绑定本地端口

确保TcpClient已经连接的情况下执行

我要回帖

更多关于 读取硬件信息 的文章

 

随机推荐