UdpClient类的使用方法
UdpClient 类的使用与标准的套接字流程基本一致,包括创建实例、收发数据和关闭
1、服务器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
StarListener();
Console.ReadKey();
}
public static void StarListener() {
//创建一个服务器、端口号为8000
UdpClient GetClient = new UdpClient(8000);
IPEndPoint myHost = null;
try
{
while (true) {
Console.WriteLine("等待接收……");
//接收数据
byte[] GetBytes = GetClient.Receive(ref myHost);
string getstring = Encoding.Unicode.GetString(GetBytes,0,GetBytes.Length);
Console.WriteLine("接收数据:"+ getstring);
//判断是否要退出
if (getstring == "quit")
break;
//内容发送
string sendString = "合法性好";//打印出内容
Console.WriteLine("发送信息:"+sendString);
byte[] GetMessage = Encoding.Unicode.GetBytes(sendString);
//发送给那个端口号
GetClient.Send(GetMessage,GetMessage.Length,"127.0.0.1",8001);
}
GetClient.Close();
Console.WriteLine("对方已经退出,请按回车键退出");
}
catch (Exception)
{
}
}
}
}
1、客户端:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace UdpClient客户端
{
class Program
{
static void Main(string[] args)
{
Send("您林");
Send("quit");
Console.ReadLine();
}
public static void Send(string message) {
UdpClient udp = new UdpClient(8001);
try
{
Console.WriteLine("向服务器发送数据: "+message);
//发送数据
byte[] sendBytes = Encoding.Unicode.GetBytes(message);
udp.Send(sendBytes,sendBytes.Length,"127.0.0.1",8000);//发送的方法
//判断是否退出
if (message == "quit") {
Console.WriteLine("已经向对方发送 quit 信息,请按回车键退出程序。");
return;
}
//接收信息
IPEndPoint myHost = null;
byte[] getBytes = udp.Receive(ref myHost);//接收的方法
string getstring = System.Text.Encoding.Unicode.GetString(getBytes);
Console.WriteLine("接收信息:" + getstring);
udp.Close();
}
catch (Exception)
{
}
}
}
}
运行效果

本文详细介绍了如何使用UdpClient类进行UDP通信。包括服务器端和客户端的设置、数据的发送与接收,以及异常处理。通过示例代码展示了完整的通信流程。

3万+

被折叠的 条评论
为什么被折叠?



