创建项目
TCPListen服务器
public Form1()
{InitializeComponent();//TcpListener 搭建tcp服务器的类,基于socket套接字通信的//1创建服务器对象TcpListener server = new TcpListener(IPAddress.Parse("192.168.107.83"), 3000);//2 开启服务器 设置最大连接数server.Start(1000);//3接受客户端的连接,只能接受一个 并且会卡死主线程,// 返回的是一个客户端TcpClient client = server.AcceptTcpClient();//4 创建一个网络继承流,接收和发送数据NetworkStream stream = client.GetStream();//5 发送数据byte[] buffer = Encoding.UTF8.GetBytes("郑州门诊28元");stream.Write(buffer, 0, buffer.Length);//6 接受客户端数据byte[] bs = new byte[1024];//参数1 接受客户端字节数组//参数2 从第几位开始存储//参数3 到什么地方结束int count = stream.Read(bs, 0, bs.Length);//client.Client.RemoteEndPoint.ToString() ip//Encoding.UTF8.GetString(bs,0,count) 获取数据Console.WriteLine(client.Client.RemoteEndPoint.ToString()+ ":读取客户端数据为"+ Encoding.UTF8.GetString(bs,0,count));}
TCPListen客户端
public Form1(){InitializeComponent();//TcpClient 处理客户端TCP通信的类型//1 创建客户端对象TcpClient t1 = new TcpClient();//2 连接服务器t1.Connect("192.168.107.83", 3000);//3 创建网络基础流 进行发送和接受数据NetworkStream stream = t1.GetStream();//4 发送数据byte[] send = Encoding.UTF8.GetBytes("隔壁老王");stream.Write(send, 0, send.Length);//5 接受数据byte[] r = new byte[1024];int count = stream.Read(r, 0, r.Length);Console.WriteLine(Encoding.UTF8.GetString(r, 0, count));//6 关闭t1.Close();}