创建项目
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();
}