c# socket編程udp客戶端實(shí)現(xiàn)代碼分享
更新時(shí)間:2013年12月09日 10:27:29 作者:
這篇文章主要介紹了c# socket編程實(shí)現(xiàn)udp客戶端,大家參考使用吧
復(fù)制代碼 代碼如下:
Console.WriteLine("This is a Client, host name is {0}", Dns.GetHostName());
//設(shè)置服務(wù)端終結(jié)點(diǎn)
IPEndPoint ipe = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8001);
//創(chuàng)建與服務(wù)端連接的套接字,指定網(wǎng)絡(luò)類型,數(shù)據(jù)連接類型和網(wǎng)絡(luò)協(xié)議
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);
//給服務(wù)端發(fā)送測(cè)試消息
ConnSocket.SendTo(data, data.Length, SocketFlags.None, ipe);
IPEndPoint server = new IPEndPoint(IPAddress.Any, 0);
//服務(wù)端終結(jié)點(diǎn)
EndPoint Remote = (EndPoint)server;
data = new byte[1024];
//對(duì)于不存在的IP地址,加入此行代碼后,可以在指定時(shí)間內(nèi)解除阻塞模式限制
//server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 100);
int recv = ConnSocket.ReceiveFrom(data, ref Remote);
//打印從服務(wù)端發(fā)回的信息
Console.WriteLine("Message received from {0}: ", Remote.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
while (true) //可以實(shí)時(shí)給服務(wù)端發(fā)送消息
{
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();
相關(guān)文章
關(guān)于C#中使用Oracle存儲(chǔ)過程返回結(jié)果集的問題
Oracle中可以使用游標(biāo)(Cursor)對(duì)數(shù)據(jù)集進(jìn)行操作,但在存儲(chǔ)過程輸出參數(shù)中直接使用Cursor錯(cuò)誤,下面小編給大家?guī)砹薈#中使用Oracle存儲(chǔ)過程返回結(jié)果集的問題,感興趣的朋友一起看看吧2021-10-10Unity3D基于UGUI實(shí)現(xiàn)虛擬搖桿
這篇文章主要為大家詳細(xì)介紹了Unity3D基于UGUI實(shí)現(xiàn)虛擬搖桿,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04操作XML文檔遇到的XMLNS問題及解決方法 (C# 和 PHP)
不管是用 PHP 還是 C#, 在操作 XML 的時(shí)候我們除了一個(gè)節(jié)點(diǎn)一個(gè)節(jié)點(diǎn)去取值之外, 還有一個(gè)非常方便的表達(dá)式, 就是 XPATH2011-05-05在C#使用字典存儲(chǔ)事件示例及實(shí)現(xiàn)自定義事件訪問器
這篇文章主要介紹了在C#使用字典存儲(chǔ)事件示例及實(shí)現(xiàn)自定義事件訪問器的方法,是C#事件編程中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-02-02VS2012 未找到與約束ContractName匹配的導(dǎo)出
這篇文章主要介紹了在更新的windows補(bǔ)丁后,Visual Studio 用戶可能無法打開或創(chuàng)建 C++ 或 JavaScript 文件或項(xiàng)目,小編的解決辦法,希望可以幫助到大家2018-04-04