成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

代碼分享:UDP協議聊天工具的編寫

網絡 網絡管理
文章中,我們分享了一個UDP協議的聊天器編寫代碼,希望對大家有所幫助。那么具體的源碼內容請參考下文。

UDP協議我們在一些通訊軟件中經常見到,而且也有不少朋友對這方面的編程感興趣。那么這里我們就來介紹一下UDP協議的聊天器的編寫過程。希望對大家有所幫助。代碼:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Text;  
  7. using System.Windows.Forms;  
  8. using System.Net;  
  9. using System.Net.Sockets;  
  10. using System.Threading;  
  11. namespace MulticastExample  
  12. {  
  13.     public partial class Form1 : Form  
  14.     {  
  15.         delegate void AppendStringCallback(string text);  
  16.         AppendStringCallback appendStringCallback;  
  17.         //使用的接收端口號  
  18.         private int port = 8001;  
  19.         private UdpClient udpClient;  
  20.         public Form1()  
  21.         {  
  22.             InitializeComponent();  
  23.             appendStringCallback = new AppendStringCallback(AppendString);  
  24.         }  
  25.         private void AppendString(string text)  
  26.         {  
  27.             if (richTextBox1.InvokeRequired)  
  28.             {  
  29.                 richTextBox1.Invoke(appendStringCallback, text);  
  30.             }  
  31.             else 
  32.             {  
  33.                 richTextBox1.AppendText(text + "\r\n");  
  34.             }  
  35.         }  
  36.         private void ReceiveData()  
  37.         {  
  38.             udpClient = new UdpClient(port);  
  39.             //必須使用UDP協議組播的地址范圍內的地址  
  40.             udpClient.JoinMulticastGroup(IPAddress.Parse("224.100.0.1"), 50);  
  41.             IPEndPoint remote = null;  
  42.             //接收從遠程主機發送過來的信息  
  43.             while (true)  
  44.             {  
  45.                 try 
  46.                 {  
  47.                     //關閉udpClient時此句會產生異常  
  48.                     byte[] bytes = udpClient.Receive(ref remote);  
  49.                     string str = Encoding.UTF8.GetString(bytes, 0, bytes.Length);  
  50.                     AppendString(string.Format("來自{0}:{1}", remote, str));  
  51.                 }  
  52.                 catch 
  53.                 {  
  54.                     //退出循環,結束線程  
  55.                     break;  
  56.                 }  
  57.             }  
  58.         }  
  59.         private void btnSend_Click(object sender, EventArgs e)  
  60.         {  
  61.             UdpClient myUdpClient = new UdpClient();  
  62.             try 
  63.             {  
  64.                 //允許發送和接收廣播數據報  
  65.                 myUdpClient.EnableBroadcast = true;  
  66.                 //必須使用組播地址范圍內的地址  
  67.                 IPEndPoint iep = new IPEndPoint(IPAddress.Parse("224.100.0.1"), port);  
  68.                 //將發送內容轉換為字節數組  
  69.                 byte[] bytes = Encoding.UTF8.GetBytes(txbSend.Text);  
  70.                 //向子網發送信息  
  71.                 myUdpClient.Send(bytes, bytes.Length, iep);  
  72.                 txbSend.Clear();  
  73.                 txbSend.Focus();  
  74.             }  
  75.             catch (Exception err)  
  76.             {  
  77.                 MessageBox.Show(err.Message, "發送失敗");  
  78.             }  
  79.             finally  
  80.             {  
  81.                 myUdpClient.Close();  
  82.             }  
  83.         }  
  84.         private void Form1_Load(object sender, EventArgs e)  
  85.         {  
  86.             Thread receiveThread = new Thread(new ThreadStart(ReceiveData));  
  87.             //將線程設為后臺運行  
  88.             receiveThread.IsBackground = true;  
  89.             receiveThread.Start();  
  90.         }  
  91.         private void Form1_FormClosing(object sender, FormClosingEventArgs e)  
  92.         {  
  93.             udpClient.Close();  
  94.         }  
  95.     }  

以上就是全部的UDP協議聊天器的編寫代碼了。

本文出自 “gauyanm” 博客,請務必保留此出處http://gauyanm.blog.51cto.com/629619/340047

責任編輯:佟健 來源: TT網絡
相關推薦

2010-07-13 08:19:10

Linux聊天工具

2015-04-27 14:29:53

C#UDP實現P2P語音聊天工具

2011-11-30 10:48:21

2019-03-07 14:45:07

聊天工具富文本輸入框前端

2022-02-12 12:18:59

Delta Chat聊天應用開源

2011-06-27 10:58:31

Qt 局域網 聊天

2011-12-21 17:39:03

imo即時通訊

2017-05-10 11:10:15

LinuxUbuntuDiscord

2014-09-01 10:33:34

2009-10-26 11:04:36

VB.NET UDP協

2012-02-20 09:57:12

2011-12-15 10:30:51

即時通訊imo

2022-02-12 10:39:59

FBI網絡犯罪加密

2023-02-15 14:07:03

2016-04-29 17:41:53

北信源/企業IM

2010-07-08 13:19:34

UDP協議

2011-03-30 20:44:46

上網行為管理管理策略網康科技

2010-10-26 14:41:18

2009-04-17 09:30:33

Firefox插件瀏覽器

2010-06-29 12:42:05

UDP協議Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合视频 | 日本在线黄色 | 日韩精品一区二区三区 | 久久精品av麻豆的观看方式 | 亚洲国产精品一区二区三区 | 久久精品小视频 | 久久精品成人 | 99精品欧美一区二区三区 | www免费视频 | 日韩高清不卡 | 欧美视频网| 美日韩精品 | 99这里只有精品视频 | 亚洲精品乱码久久久久久久久 | 亚洲三级在线观看 | 久久精品国产99国产精品 | 日韩一区在线播放 | 精品免费视频一区二区 | 91av视频在线 | 色吧久久 | 亚洲一区二区三区在线 | 奇米久久 | 国产亚洲高清视频 | 91精品观看 | 56pao在线| 国产91在线精品 | 日本精品视频 | 欧美日韩视频 | 中文字幕亚洲精品 | 国产精品日产欧美久久久久 | 中文字幕在线精品 | 精品国产乱码久久久久久影片 | 欧美日韩一区二区电影 | 九九九色 | 91精品一区| 亚洲成人综合社区 | 99一级毛片 | 精品免费国产一区二区三区四区 | 国产一卡二卡三卡 | 日韩视频免费看 | 久久精品视频91 |