TcpClient tcpClient = new TcpClient();
tcpClient.Connect("10.120.131.66", 22);
NetworkStream ns = tcpClient.GetStream();
ns.Write(new byte[] { 0, 1, 2 }, 0, 3);
byte[] buf = new byte[1024];
int n = ns.Read(buf, 0, buf.Length);
ns.Flush();
ns.Close();
tcpClient.Close();
TcpClient退出建议参照上面代码依次调用ns.Flush();ns.Close();tcpClient.Close();这3个方法结束。
说明:
1.不用担忧重复调用出异常:上面3个方法在重复调用的情况下不会抛异常,也就是说你在同一个地方或者不同地方多次调用上面3个方法不会出异常。
2.不用担心对方已关闭连接出异常:即使对方已关闭连接,再调用上面3个方法也不会出异常。
TcpListener退出一般只需调用stop()结束端口占用。(最好用列表存储已经AcceptTcpClient()的所有连接客户端,客户端退出及时从列表中删除,在TcpListener结束时手动关闭列表中剩余的所有客户端。在某些时候需要关闭所有连接的客户端才会释放网络端口资源,否则再次侦听此端口显示已占用;同时,也方便程序顺利退出,如果客户端连接线程一直在通信,程序退出时清理线程会非常缓慢)