男女做爽爽爽网站-男女做羞羞高清-男女做爰高清无遮挡免费视频-男女做爰猛烈-男女做爰猛烈吃奶啪啪喷水网站-内射白浆一区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

ipmsg C#局域網(wǎng)聊天工具、消息推送實現(xiàn)思路與源碼

admin
2016年12月23日 18:41 本文熱度 7996

C#局域網(wǎng)聊天工具怎么實現(xiàn)?

1. 網(wǎng)絡通訊編程的基礎(chǔ)便是協(xié)議,信息的發(fā)送常用的協(xié)議有面向連接的TCP協(xié)議,以及不面向連接的UDP協(xié)議

2. TCP:TransmissionControlProtocol傳輸控制協(xié)議,其是一種面向連接的、可靠的字節(jié)流服

務。[]面向連接意味著兩個使用TCP的應用(通常是一個客戶和一個服務器)在彼此交換數(shù)據(jù)之前必須先建立一個TCP連接。這一過程與打電話很相似,先撥號振鈴,等待對方摘機說“喂”,然后才說明是誰。

3. UDP:UserDatagramProtocol用戶數(shù)據(jù)報協(xié)議(RFC768),UDP傳送數(shù)據(jù)前并不與對方建立連

接,即UDP是無連接的,在傳輸數(shù)據(jù)前,發(fā)送方和接收方相互交換信息使雙方同步。

4. 系統(tǒng)也要定義自己的通訊協(xié)議,來完成一些系統(tǒng)的功能,如用戶上,下線的通知,都要定義

自己的通訊協(xié)議來完成相應的功能!也可以稱這種自定義的協(xié)議為“命令”.

5. 下面以著名的飛鴿傳書為例,說明其自定義的協(xié)議(命令)

IPMSG_NOOPERATION不進行任何操作

IPMSG_BR_ENTRY用戶上線

IPMSG_BR_EXIT用戶退出

IPMSG_ANSENTRY通報在線

IPMSG_SENDMSG發(fā)送消息

IPMSG_RECVMSG通報收到消息

IPMSG_GETFILEDATA請求通過TCP傳輸文件

IPMSG_RELEASEFILES停止接收文件

IPMSG_GETDIRFILES請求傳輸文件夾以“IPMSG_BR_ENTRY用戶上線”和“IPMSG_ANSENTRY通報在線”為例說明命令處理流程:當程序啟動時,命令I(lǐng)PMSG_BR_ENTRY被廣播到網(wǎng)絡中,向所有在線的用戶提示一個新用戶的到達(即表示“我來了”);所有在線用戶將把該新上線用戶添加到自己的用戶列表中,并向該新上線用戶發(fā)送IPMSG_ANSENTRY命令(即表示“我在線”);該新上線用戶接收到IPMSG_ANSENTRY命令后即將在線用戶添加到自己的用戶列表中。

PS:根據(jù)本系統(tǒng)的特征,可以在聊天部分采用UDP協(xié)議,在文件傳輸,視頻,語音功能上采用TCP協(xié)議

6. 程序啟動就要發(fā)送廣播消息,如何發(fā)送廣播消息,以及C#如何實現(xiàn)廣播.

第一部分.什么是廣播地址,以及廣播地址怎么計算

1.1廣播地址是什么?

主機號全為1,用于向一個網(wǎng)絡內(nèi)的所有主機發(fā)送信息的IP地址.如:受限的廣播地址是255.255.255.255。該地址用于主機配置過程中IP數(shù)據(jù)報的目的地址,此時,主機可能還不知道它所在網(wǎng)絡的網(wǎng)絡掩碼,甚至連它的IP地址也不知道。在任何情況下,路由器都不轉(zhuǎn)發(fā)目的地址為受限的廣播地址的數(shù)據(jù)報,這樣的數(shù)據(jù)報僅出現(xiàn)在本地網(wǎng)絡中。

PS:一般無特殊要求廣播地址選擇255.255.255.255即可.

1.2計算方法

首先計算網(wǎng)絡地址=IP地址邏輯與(&)子網(wǎng)掩碼

先把IP,子網(wǎng)掩碼轉(zhuǎn)為2進制,然后進行邏輯與運算,得出網(wǎng)絡地址

例:

IP192.168.1.3子網(wǎng)掩碼255.255.0.0

IP轉(zhuǎn)二進制11000000.10100100.00000001.00000011

子網(wǎng)掩碼11111111.11111111.00000000.00000000

與運算后11000000.10100100.00000000.00000000

192.168.0.0這就是網(wǎng)絡地址,其中子網(wǎng)掩碼全1對應為網(wǎng)絡號,全0對應的是主機號,即192.168.0.0對應的網(wǎng)絡號為192.168,主機號為0.0.將網(wǎng)絡地址主機部分全取反后得到的地址便是廣播地址:

廣播地址11000000.10100100.11111111.11111111

換成10進制則為192.168.0.0

ipmsg C#局域網(wǎng)聊天工具、消息推送實現(xiàn)思路與源碼

第二部分.C#利用UDP協(xié)議如何實現(xiàn)廣播

2.1如何實現(xiàn)UDP廣播,直接舉例說明:

button1_Click時使用了UDP廣播向外發(fā)送了數(shù)據(jù)

RecData()在后臺接受UDP協(xié)議的消息

//UDP通過廣播實現(xiàn)群發(fā)功能

namespace BroadcastExample

{

public partial class Form1:Form

{

delegate void AppendStringCallback(stringtext);

AppendStringCallback appendstringcallback;

//使用的接收端口51008

///<summary>

///端口號

///</summary>

private int port=51008;

///<summary>

///udp連接對象

///</summary>

private UdpClient udpclient;

public Form1()

{

InitializeComponent();

appendstringcallback = new AppendStringCallback(AppendString); }

///<summary>

///委托對象的處理過程

///</summary>

///<paramname="text"></param>

private void AppendString(stringtext)

{

if(richtextBox2.InvokeRequired==true)

{

this.Invoke(appendstringcallback,text);

}

else

{

richtextBox2.AppendText(text+"\r\n");

}

}

///<summary>

///在后臺運行的接收線程

///</summary>

private void RecData()

{

//本機指定端口接收

udpclient=new UdpClient(port);

IPEndPoint remote=null;

ipmsg C#局域網(wǎng)聊天工具、消息推送實現(xiàn)思路與源碼

//接收從遠程主機發(fā)送過來的信息

while(true)

{

try

{

//關(guān)閉udpclient時此句會產(chǎn)生異常

byte[]bytes= (refremote);

stringstr=Enco (bytes,0,bytes.Length);

AppendString(string.Format("來自{0}:{1}",remote,str));

}

catch

{

//退出循環(huán),結(jié)束線程

break;

}

}

}

privatevoidForm1_Load(objectsender,EventArgse)

{

//創(chuàng)建一個線程接收接收遠程主機發(fā)來的信息

Thread mythread=new Thread(new ThreadStart(RecData));

//將線程設為后臺運行

mythread.IsBackground=true;

mythread.Start();

}

private void Form1_FormClosing(objectsender,FormClosingEventArgse) {

udpclient.Close();

}

private void button1_Click(objectsender,EventArgse)

{

UdpClient myUdpclient=newUdpClient();


該文章在 2016/12/23 18:41:03 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務費用、相關(guān)報表等業(yè)務管理,結(jié)合碼頭的業(yè)務特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产日韩免费视频在线观看 | 三A级做爰片免费观看 | 人人妻人爽A片二区三区 | 欧美亚洲欧美 | 久久天堂一区二区三区 | 欧美亚洲日韩 | 狠狠狠色丁香婷婷综合激情 | 丁香五月av在线播放 | 亚洲精品成人区在线观看 | 日韩中文字幕在线观看视频 | 精品久久一区精品久久 | 久色视频网 | 精品国产成人综合网在线 | 日韩人妻少妇精品系 | 久久66热人妻偷产国产 | 美国毛片基地a级e片 | 人妻加勒比在线无码 | 美女黄网十八禁免费看 | 日韩亚洲国产综合一区 | 一区二区三区国产精品乱码 | 无套进入无码A片 | 国产乱伦在线视频 | 日产幕无线码1区 | 国产av无码专区亚洲aⅴ蜜芽 | 老外毛片| 国产91精品丝袜一区二区漫画 | 日日噜噜夜夜狠狠 | 国产午夜精品久久久久九九 | 精品不卡一区二区 | 麻豆果冻文化传媒网站 | 日韩波多野结衣 | 国产三级日韩精品 | 最新国产色视频在线播放 | 最新亚洲一区二区三区四区 | 亚洲高清一区二区三区在线观看 | 久久精品国产亚洲欧美 | 成年美女毛片黄网站色奶头大全 | 欧美兽交少妇XXX | 无码久久精品蜜桃 | 3p 成人| 国产精品国产福利国产秒拍一区二区三区四区精品视频 |