欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c# socket編程udp客戶端實現(xiàn)代碼分享

 更新時間:2013年12月09日 10:27:29   作者:  
這篇文章主要介紹了c# socket編程實現(xiàn)udp客戶端,大家參考使用吧
復制代碼 代碼如下:

Console.WriteLine("This is a Client, host name is {0}", Dns.GetHostName());
//設(shè)置服務(wù)端終結(jié)點
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ā)送測試消息
ConnSocket.SendTo(data, data.Length, SocketFlags.None, ipe);
IPEndPoint server = new IPEndPoint(IPAddress.Any, 0);
//服務(wù)端終結(jié)點
EndPoint Remote = (EndPoint)server;
data = new byte[1024];
//對于不存在的IP地址,加入此行代碼后,可以在指定時間內(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) //可以實時給服務(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存儲過程返回結(jié)果集的問題

    關(guān)于C#中使用Oracle存儲過程返回結(jié)果集的問題

    Oracle中可以使用游標(Cursor)對數(shù)據(jù)集進行操作,但在存儲過程輸出參數(shù)中直接使用Cursor錯誤,下面小編給大家?guī)砹薈#中使用Oracle存儲過程返回結(jié)果集的問題,感興趣的朋友一起看看吧
    2021-10-10
  • Unity3D基于UGUI實現(xiàn)虛擬搖桿

    Unity3D基于UGUI實現(xiàn)虛擬搖桿

    這篇文章主要為大家詳細介紹了Unity3D基于UGUI實現(xiàn)虛擬搖桿,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • c#讀寫注冊表示例分享

    c#讀寫注冊表示例分享

    這篇文章主要介紹了c#讀寫注冊表示例,示例中有詳細注釋,大家參考使用吧
    2014-01-01
  • C#序列化與反序列化實例

    C#序列化與反序列化實例

    這篇文章主要介紹了C#序列化與反序列化的實現(xiàn)方法,實例分析了序列化與反序列化的原理與實現(xiàn)技巧,需要的朋友可以參考下
    2015-01-01
  • 操作XML文檔遇到的XMLNS問題及解決方法 (C# 和 PHP)

    操作XML文檔遇到的XMLNS問題及解決方法 (C# 和 PHP)

    不管是用 PHP 還是 C#, 在操作 XML 的時候我們除了一個節(jié)點一個節(jié)點去取值之外, 還有一個非常方便的表達式, 就是 XPATH
    2011-05-05
  • 在C#使用字典存儲事件示例及實現(xiàn)自定義事件訪問器

    在C#使用字典存儲事件示例及實現(xiàn)自定義事件訪問器

    這篇文章主要介紹了在C#使用字典存儲事件示例及實現(xiàn)自定義事件訪問器的方法,是C#事件編程中的基礎(chǔ)知識,需要的朋友可以參考下
    2016-02-02
  • WPF換膚設(shè)計原理淺析

    WPF換膚設(shè)計原理淺析

    這篇文章主要為大家詳細介紹了WPF換膚設(shè)計原理,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 淺談C#中堆和棧的區(qū)別(附上圖解)

    淺談C#中堆和棧的區(qū)別(附上圖解)

    C#中棧是編譯期間就分配好的內(nèi)存空間,因此你的代碼中必須就棧的大小有明確的定義;堆是程序運行期間動態(tài)分配的內(nèi)存空間,你可以根據(jù)程序的運行情況確定要分配的堆內(nèi)存的大小
    2014-09-09
  • C#約瑟夫問題解決方法

    C#約瑟夫問題解決方法

    這篇文章主要介紹了C#約瑟夫問題解決方法,較為詳細的分析了約瑟夫問題及C#解決技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-04-04
  • VS2012 未找到與約束ContractName匹配的導出

    VS2012 未找到與約束ContractName匹配的導出

    這篇文章主要介紹了在更新的windows補丁后,Visual Studio 用戶可能無法打開或創(chuàng)建 C++ 或 JavaScript 文件或項目,小編的解決辦法,希望可以幫助到大家
    2018-04-04

最新評論