日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# 通过socket实现UDP 通信

發布時間:2023/12/18 C# 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# 通过socket实现UDP 通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
 ???? 本文章已收錄于: ?????
    UDP不屬于面向連接的通信,在選擇使用協議的時候,選擇UDP必須要謹慎。在網絡質量令人十分不滿意的環境下,UDP協議數據包丟失會比較嚴重。但是由于UDP的特性:它不屬于連接型協議,因而具有資源消耗小,處理速度快的優點,所以通常音頻、視頻和普通數據在傳送時使用UDP較多,因為它們即使偶爾丟失一兩個數據包,也不會對接收結果產生太大影響。比如我們聊天用的ICQ和QQ就是使用的UDP協議。 我們通過UDP進行信息收發的時候,沒有嚴格客戶端和服務端的區別,它不同于UDP,UDP 必須建立可靠連接之后才可以通信,而UDP隨時都可以給指定的ip和端口所對應進程發送消息。UDP發送消息時需要綁定自己IP 和 端口號,接收消息的時候沒有特殊限制,只要有人給自己發送,自己在線,就可以接收。

    接下來我們通過一個簡單的程序看一下UDP通信的過程。
    服務端程序:

    [csharp] view plaincopyprint?
  • using?System;??
  • using?System.Collections.Generic;??
  • using?System.Linq;??
  • using?System.Text;??
  • using?System.Threading.Tasks;??
  • using?System.Net.Sockets;??
  • using?System.Net;??
  • using?System.Threading;??
  • namespace?UDP_Server??
  • {??
  • ????class?Program??
  • ????{??
  • ????????static?Socket?server;??
  • ????????static?void?Main(string[]?args)??
  • ????????{??
  • ????????????server?=?new?Socket(AddressFamily.InterNetwork,?SocketType.Dgram,?ProtocolType.Udp);??
  • ????????????server.Bind(new?IPEndPoint(IPAddress.Parse("169.254.202.67"),?6001));//綁定端口號和IP??
  • ????????????Console.WriteLine("服務端已經開啟");??
  • ????????????Thread?t?=?new?Thread(ReciveMsg);//開啟接收消息線程??
  • ????????????t.Start();??
  • ????????????Thread?t2?=?new?Thread(sendMsg);//開啟發送消息線程??
  • ????????????t2.Start();??
  • ??
  • ??
  • ????????}??
  • ????????///?<summary>??
  • ????????///?向特定ip的主機的端口發送數據報??
  • ????????///?</summary>??
  • ????????static?void?sendMsg()??
  • ????????{??
  • ????????????EndPoint?point?=?new?IPEndPoint(IPAddress.Parse("169.254.202.67"),?6000);??
  • ????????????while?(true)??
  • ????????????{??
  • ????????????????string?msg?=?Console.ReadLine();??
  • ????????????????server.SendTo(Encoding.UTF8.GetBytes(msg),?point);??
  • ????????????}??
  • ??
  • ??
  • ????????}??
  • ????????///?<summary>??
  • ????????///?接收發送給本機ip對應端口號的數據報??
  • ????????///?</summary>??
  • ????????static?void?ReciveMsg()??
  • ????????{??
  • ????????????while?(true)??
  • ????????????{??
  • ????????????????EndPoint?point?=?new?IPEndPoint(IPAddress.Any,?0);//用來保存發送方的ip和端口號??
  • ????????????????byte[]?buffer?=?new?byte[1024];??
  • ????????????????int?length?=?server.ReceiveFrom(buffer,?ref?point);//接收數據報??
  • ????????????????string?message?=?Encoding.UTF8.GetString(buffer,0,length);??
  • ????????????????Console.WriteLine(point.ToString()+?message);??
  • ??
  • ????????????}??
  • ????????}??
  • ??
  • ??
  • ????}??
  • }??
  • using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Sockets; using System.Net; using System.Threading; namespace UDP_Server {class Program{static Socket server;static void Main(string[] args){server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);server.Bind(new IPEndPoint(IPAddress.Parse("169.254.202.67"), 6001));//綁定端口號和IPConsole.WriteLine("服務端已經開啟");Thread t = new Thread(ReciveMsg);//開啟接收消息線程t.Start();Thread t2 = new Thread(sendMsg);//開啟發送消息線程t2.Start();}/// <summary>/// 向特定ip的主機的端口發送數據報/// </summary>static void sendMsg(){EndPoint point = new IPEndPoint(IPAddress.Parse("169.254.202.67"), 6000);while (true){string msg = Console.ReadLine();server.SendTo(Encoding.UTF8.GetBytes(msg), point);}}/// <summary>/// 接收發送給本機ip對應端口號的數據報/// </summary>static void ReciveMsg(){while (true){EndPoint point = new IPEndPoint(IPAddress.Any, 0);//用來保存發送方的ip和端口號byte[] buffer = new byte[1024];int length = server.ReceiveFrom(buffer, ref point);//接收數據報string message = Encoding.UTF8.GetString(buffer,0,length);Console.WriteLine(point.ToString()+ message);}}} }


    ?

    客戶端程序:

    [csharp] view plaincopyprint?
  • using?System;??
  • using?System.Collections.Generic;??
  • using?System.Linq;??
  • using?System.Text;??
  • using?System.Threading.Tasks;??
  • using?System.Net;??
  • using?System.Net.Sockets;??
  • using?System.Threading;??
  • namespace?UDP_client??
  • {??
  • ????class?Program??
  • ????{??
  • ????????static?Socket?client;??
  • ????????static?void?Main(string[]?args)??
  • ????????{??
  • ????????????client?=?new?Socket(AddressFamily.InterNetwork,?SocketType.Dgram,?ProtocolType.Udp);??
  • ????????????client.Bind(new?IPEndPoint(IPAddress.Parse("169.254.202.67"),?6000));??
  • ????????????Thread?t?=?new?Thread(sendMsg);??
  • ????????????t.Start();??
  • ????????????Thread?t2?=?new?Thread(ReciveMsg);??
  • ????????????t2.Start();??
  • ????????????Console.WriteLine("客戶端已經開啟");??
  • ????????}??
  • ????????///?<summary>??
  • ????????///?向特定ip的主機的端口發送數據報??
  • ????????///?</summary>??
  • ????????static?void?sendMsg()??
  • ????????{??
  • ????????????EndPoint?point?=?new?IPEndPoint(IPAddress.Parse("169.254.202.67"),?6001);??
  • ????????????while(true){??
  • ????????????????string?msg?=?Console.ReadLine();??
  • ????????????????client.SendTo(Encoding.UTF8.GetBytes(msg),?point);??
  • ????????????}??
  • ??
  • ??
  • ????????}??
  • ??
  • ????????///?<summary>??
  • ????????///?接收發送給本機ip對應端口號的數據報??
  • ????????///?</summary>??
  • ????????static?void?ReciveMsg()??
  • ????????{??
  • ????????????while?(true)??
  • ????????????{??
  • ????????????????EndPoint?point?=?new?IPEndPoint(IPAddress.Any,?0);//用來保存發送方的ip和端口號??
  • ????????????????byte[]?buffer?=?new?byte[1024];??
  • ????????????????int?length?=?client.ReceiveFrom(buffer,?ref?point);//接收數據報??
  • ????????????????string?message?=?Encoding.UTF8.GetString(buffer,?0,?length);??
  • ????????????????Console.WriteLine(point.ToString()?+?message);??
  • ????????????}??
  • ????????}??
  • ??
  • ????}??
  • }??
  • using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net; using System.Net.Sockets; using System.Threading; namespace UDP_client {class Program{static Socket client;static void Main(string[] args){client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);client.Bind(new IPEndPoint(IPAddress.Parse("169.254.202.67"), 6000));Thread t = new Thread(sendMsg);t.Start();Thread t2 = new Thread(ReciveMsg);t2.Start();Console.WriteLine("客戶端已經開啟");}/// <summary>/// 向特定ip的主機的端口發送數據報/// </summary>static void sendMsg(){EndPoint point = new IPEndPoint(IPAddress.Parse("169.254.202.67"), 6001);while(true){string msg = Console.ReadLine();client.SendTo(Encoding.UTF8.GetBytes(msg), point);}}/// <summary>/// 接收發送給本機ip對應端口號的數據報/// </summary>static void ReciveMsg(){while (true){EndPoint point = new IPEndPoint(IPAddress.Any, 0);//用來保存發送方的ip和端口號byte[] buffer = new byte[1024];int length = client.ReceiveFrom(buffer, ref point);//接收數據報string message = Encoding.UTF8.GetString(buffer, 0, length);Console.WriteLine(point.ToString() + message);}}} }


    ?

    運行效果圖:

    資源下載:
    http://download.csdn.net/detail/u011484013/9488304

    總結

    以上是生活随笔為你收集整理的C# 通过socket实现UDP 通信的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 超碰97国产 | 爱色成人网 | 五月激情视频 | 少妇av网 | 美国黄色av | 69av在线 | 国产天堂视频 | 丝袜操 | 色人综合 | 毛片在线看片 | 国产对白视频 | 人妻丰满熟妇av无码区免 | 九九视频精品在线 | 成年人在线观看视频免费 | 国产色a| 绝顶高潮合集videos | 欧美成性色 | 午夜国产一区二区三区 | 国产又粗又爽视频 | 成人动漫免费在线观看 | 成年人网站免费视频 | 99极品视频 | 哪个网站可以看毛片 | 国产精品一区在线观看你懂的 | www.亚洲一区二区 | 夜夜爽夜夜叫夜夜高潮漏水 | 粗大的内捧猛烈进出视频 | 国产精品有限公司 | jizz日本大全 | 处女朱莉 | 国产欧美一区二区 | 日本美女日批视频 | 欧美亚洲色综久久精品国产 | 加勒比精品 | 97人人干 | 国产农村妇女aaaaa视频 | jizz日本少妇 | 中文有码在线观看 | 欧美黄色a级片 | 美日韩免费 | 美女a视频| 久久免费播放视频 | 久热这里只有精品在线 | 日韩在线观看免费高清 | 国产a视频免费观看 | 亚洲欧美日韩国产成人精品影院 | aaaa免费视频 | 毛片基地在线观看 | 18禁超污无遮挡无码免费游戏 | 97精品人人妻人人 | 日韩av无码中文字幕 | 成人网在线播放 | 丁香激情综合 | 日韩射吧| 91嫩草网 | 久久精品一二三 | 天天操人人射 | 中文在线不卡视频 | 成人无码视频 | 韩国国产在线 | 亚洲插插| 蜜臀视频网站 | 日韩三级黄色片 | 亚洲成人网在线 | 欧美黄片一区 | 久久99精品久久久久 | 欧美精品一卡 | 动漫美女被吸乳奶动漫视频 | 亚洲一区二区观看 | av资源网址 | 女女互慰吃奶互揉调教捆绑 | 操操操影院 | 日韩高清二区 | 久久精品国产免费看久久精品 | 天美麻花果冻视频大全英文版 | 篠田优在线观看 | 日韩久久综合 | 黄色网免费看 | 中文字幕在线色 | www.激情.com| av免费在线观看不卡 | 国产在线欧美日韩 | 欧美成人一区二区视频 | 国产高潮视频在线观看 | av片观看 | 婷婷六月丁| 亚洲拍拍| 国产一级特黄毛片 | 欧美性潮喷xxxxx免费视频看 | 少妇荡乳情欲办公室456视频 | 午夜爽视频 | av免费精品 | 国产女人与zoxxxx另类 | 91久久精品国产91性色tv | 色小说在线 | 久久久久久91香蕉国产 | 黄网在线免费观看 | 欧美在线网站 | 色天堂视频 |