展会信息港展会大全

c# socket编程实现udp客户端
来源:互联网   发布日期:2016-01-19 12:58:05   浏览:1891次  

导读:这篇文章主要介绍了c socket编程实现udp客户端,大家参考使用吧代码如下:Console WriteLine(This is a Client, host name is {0}, Dns GetHostName()); 设置服务端终结点IPEndPoint ipe = new ...

这篇文章主要介绍了c# socket编程实现udp客户端,大家参考使用吧

代码如下:

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

赞助本站

人工智能实验室

相关热词: socket udp客户端 c

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港