TcpListener服务器端(tcp)
using System.Net.Sockets;
1.//TcpListener对socket进行了一层封装,这个类里面自己会创建socket对象
TcpListener listener = new TcpListener(IPAddress.Parse("10,28,120,164"),7788);
2.开始进行监听
listener.Start();
3.等待客户端连接过来
TcpClient client = listener.AcceptTcpClient();
4取得客户端发送过来的数据
NetworkStream stream = mclient.GetStream(); 得到一个网络流,从这个网络流可以取得客户端发送过来的数据
byte[] data=new byte[1024]; 创建一个数据的容器,用来承接数据
while(true) //循环接收
{
//0表示从数组的哪个索引开始存放数据
//1024表示最大读取的字节数
int length = stream.Read(data,0,1024);读取数据
string message=Encoding.UTF8.GetString(date,0,length);
Console.WriteLine("收到了消息"+message);
}
stream.Close();
client.Close();
listener.Stop(); 停止监听
Console.ReadKey();
---------------------------------------------------------------------------------------------------------------------
TcpClient客户端(tcp)
1.当我们创建tcpclient对象的时候,就会跟server去建立连接
TcpClient client = new TcpClient("10,28,120,164",7788);
NetworkStrean stream=client.GetStream();通过网络流进行数据的交换
//read用来读取数据,write用来写入数据其实就是发送数据
//利用一个死循环,重复向服务器端发送数据
while(true)
{
string message=Console.ReadLine();
byte[] data=Encoding.UTF8.GetBytes(message);
stream.Write(data,0,data.Length);
}
stream.Close();
client.Close();
Consloe.ReadKey();
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
UdpClient(Udp)服务器端:
1.创建udpclient 绑定ip跟端口号
UdpClient udpClient = new UdpClient(new IPEndPoint(IPAddress.Parse("10,28,120,164"),7788));
2接收数据
while(true)
{
IPEndPoint point= new IPEndPoint(IPAddress.Any,0);
byte[] date = udpClient.Receive(ref point); //通过point确定数据来自哪个ip的哪个端口号 返回值是一个字节数组 ,就是我们的数据
string message=Encoding.UTF8.GetString(data);
Console.WriteLine("收到了消息:"+message);
}
udpClient.Close();
Console.ReadKey();
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
客户端:
1.创建udpclient对象
UdpClient client = new UdpClient();
2.发送数据
while(true)
{
string message=Console.ReadLine();
byte[] data=Encoding.UTF8.GetBytes(message); 将写入的文件编程转化成字节数组
client.Send(data,data.Length,new IPEndPoint(IPAddress.Parse("10,28,120,164"),7788)); 对ip+
}
client.Close();