手机
当前位置:查字典教程网 >编程开发 >C#教程 >c# socket编程udp客户端实现代码分享
c# socket编程udp客户端实现代码分享
摘要:复制代码代码如下:Console.WriteLine("ThisisaClient,hostnameis{0}",Dns.GetHostNa...

复制代码 代码如下:

Console.WriteLine("This is a Client, host name is {0}", Dns.GetHostName());

//设置服务端终结点

IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8001);

//创建与服务端连接的套接字,指定网络类型,数据连接类型和网络协议

Socket ConnSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

string welcome = "Client Message:Hello!!!";

byte[] data = new byte[1024];

data = Encoding.ASCII.GetBytes(welcome);

//给服务端发送测试消息

ConnSocket.SendTo(data, data.Length, SocketFlags.None, ipe);

IPEndPoint server = new IPEndPoint(IPAddress.Any, 0);

//服务端终结点

EndPoint Remote = (EndPoint)server;

data = new byte[1024];

//对于不存在的IP地址,加入此行代码后,可以在指定时间内解除阻塞模式限制

//server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 100);

int recv = ConnSocket.ReceiveFrom(data, ref Remote);

//打印从服务端发回的信息

Console.WriteLine("Message received from {0}: ", Remote.ToString());

Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

while (true) //可以实时给服务端发送消息

{

string input = Console.ReadLine();

if (input == "exit") //中断连接

{

ConnSocket.SendTo(Encoding.ASCII.GetBytes(input), Remote);

data = new byte[1024];

recv = ConnSocket.ReceiveFrom(data, ref Remote);

Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

break;

}

else

{

ConnSocket.SendTo(Encoding.ASCII.GetBytes("Client Message:" + input), Remote);

data = new byte[1024];

recv = ConnSocket.ReceiveFrom(data, ref Remote);

Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));

}

}

Console.WriteLine("Stopping Client.");

ConnSocket.Close();

【c# socket编程udp客户端实现代码分享】相关文章:

C#解析json文件的实现代码

c# 调用.bat文件的实现代码

c#初学简单程序实例代码介绍

c# n个数排序实现代码

解析C#彩色图像灰度化算法的实现代码详解

C#自动创建数据库实现代码

List转换成DataSet实现代码

c#(Socket)异步套接字代码示例

C# 系统热键注册实现代码

C# WORD操作实现代码

精品推荐
分类导航