Socket编程3-TcpListener,TcpClient-UdpClient

本文详细介绍了如何使用C#进行Socket编程,包括TcpListener实现TCP服务器端监听,TcpClient创建TCP客户端并进行数据交换,以及UdpClient在UDP通信中的服务器端和客户端应用。通过示例代码展示了如何建立连接、接收和发送数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值