亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于P2P的即時(shí)消息傳遞軟件

        2010-06-13 11:32:54徐江紅
        微處理機(jī) 2010年3期
        關(guān)鍵詞:監(jiān)聽控件消息

        徐江紅

        (北京電子科技職業(yè)學(xué)院,北京100176)

        1 引言

        互聯(lián)網(wǎng)正影響著世界的每一個(gè)角落,極大的改變著人們的生活?;ヂ?lián)網(wǎng)本身也在飛速發(fā)展,各種新技術(shù)層出不窮。即時(shí)消息傳遞(Instance Messaging,MI)就是互聯(lián)網(wǎng)上一種頗受歡迎的新業(yè)務(wù)。所謂即時(shí)消息就是為用戶提供了一種方便快捷的通過Internet與朋友交流的方式,通過它人們可以在線交談、互傳文件、語音對(duì)話及進(jìn)行視頻會(huì)議,甚至用手機(jī)雙向交流。未來即時(shí)消息的功能還會(huì)包括股票交易、在線購物、企業(yè)采購與調(diào)撥等電子商務(wù)運(yùn)作。即時(shí)消息在發(fā)展初期更多地以其娛樂性引起了人們的關(guān)注,而現(xiàn)在其快速增多的企業(yè)用戶表明這一技術(shù)已經(jīng)被開始融入到現(xiàn)代商務(wù)活動(dòng)中。即時(shí)消息傳遞的一個(gè)特點(diǎn)就是方便快捷,非常適用于短消息的傳送,另一個(gè)優(yōu)點(diǎn)就是安全可靠,保護(hù)隱私和機(jī)密,可以防止不需要的信息進(jìn)入,保護(hù)自己不被打擾。

        目前即時(shí)消息發(fā)展存在的最突出問題就是相關(guān)通信協(xié)議和標(biāo)準(zhǔn)的不統(tǒng)一,即各個(gè)即時(shí)消息軟件由于采用不同的語言和協(xié)議標(biāo)準(zhǔn)而無法相互通信。雖然到目前為止還沒有完全統(tǒng)一的標(biāo)準(zhǔn)協(xié)議,但作為一種基于IP技術(shù)的通信基礎(chǔ)軟件,即時(shí)消息最終成為開放式的在線通信工具肯定是大勢所趨。即時(shí)消息已經(jīng)成為語音及文本在線實(shí)時(shí)通信的主要技術(shù),它必將成為未來移動(dòng)商務(wù)、在線協(xié)作及Internet應(yīng)用的核心,同時(shí)也將繼承IP技術(shù)的開放風(fēng)格,扮演比電子郵件更為重要的角色。

        2 P2P技術(shù)

        P2P(Peer-to-Peer)對(duì)等互聯(lián)或點(diǎn)對(duì)點(diǎn)技術(shù)。P2P技術(shù)可以讓用戶直接連接到其他用戶的計(jì)算機(jī),進(jìn)行文件共享與交換,同時(shí)P2P在深度搜索、分布計(jì)算、協(xié)同工作等方面也大有用途。P2P是一種用于不同PC用戶之間,不經(jīng)過中繼設(shè)備直接交換數(shù)據(jù)或服務(wù)的技術(shù),它允許Internet用戶直接使用對(duì)方的文件。每個(gè)人可以直接連接到其他用戶的計(jì)算機(jī),并進(jìn)行文件交換,而不需要連接到服務(wù)器上再進(jìn)行瀏覽與下載。

        純點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)沒有客戶端或服務(wù)器的概念,只有平等的同級(jí)節(jié)點(diǎn),同時(shí)對(duì)網(wǎng)絡(luò)上的其它節(jié)點(diǎn)充當(dāng)客戶端和服務(wù)器。這種網(wǎng)絡(luò)設(shè)計(jì)模型不同于客戶端-服務(wù)器模型,在客戶端-服務(wù)器模型中通信通常來往于一個(gè)中央服務(wù)器。目前Internet的存儲(chǔ)模式是“內(nèi)容位于中心”,而P2P技術(shù)的運(yùn)用將使Internet上的內(nèi)容向邊緣移動(dòng)。這將帶來以下改變:首先,客戶不再需要將文件上傳到服務(wù)器,而只需要使用P2P與其他計(jì)算機(jī)進(jìn)行共享;其次,使用P2P技術(shù)的計(jì)算機(jī)不需要固定的IP地址和永久的Internet連接,這使得占有極大比例的撥號(hào)上網(wǎng)用戶也可以享受P2P帶來的變革。基于此,我們采用C#作為開發(fā)工具,采用P2P技術(shù)開發(fā)了一個(gè)即時(shí)消息傳遞軟件。

        3 系統(tǒng)設(shè)計(jì)

        C#作為微軟.Net戰(zhàn)略的重要組成部分,其對(duì)網(wǎng)絡(luò)編程提供了很好的支持和優(yōu)化。本文實(shí)時(shí)消息傳遞軟件的設(shè)計(jì),很直觀地給出了P2P(點(diǎn)對(duì)點(diǎn))編程以及套接口編程的基本知識(shí)和概念。它是建立在TcpListener以及TcpClient這兩個(gè)類基礎(chǔ)上的,軟件中同時(shí)采用了多線程技術(shù)和P2P技術(shù)重返“非中心化”的基本原則。因此采用這個(gè)軟件可以在網(wǎng)絡(luò)中發(fā)送、接收消息,任何一臺(tái)計(jì)算機(jī)既可以作為服務(wù)器端,又可以作為客戶端。

        3.1 界面設(shè)計(jì)

        參照ICQ、OICQ等聊天工具,系統(tǒng)設(shè)計(jì)時(shí)可以將程序的主界面布置成和常見聊天工具的消息發(fā)送對(duì)話框類似的布局。不過由于程序僅有一個(gè)主界面,所以還要添加一些諸如“開始監(jiān)聽”、“停止監(jiān)聽”等控制按鈕。同時(shí),程序是支持昵稱顯示的。于是,按照這個(gè)思路來布置程序的主界面。首先,往主界面上拖放如下一些控件:兩個(gè)Label控件、三個(gè)Button控件、三個(gè)TextBox控件、一個(gè)RichTextBox控件以及一個(gè)StatusBar控件。系統(tǒng)主界面如圖1所示。

        3.2 系統(tǒng)實(shí)現(xiàn)原理

        由于該程序用到了許多網(wǎng)絡(luò)編程所需的對(duì)象以及輸入輸出對(duì)象,又運(yùn)用了多線程編程機(jī)制,所以在程序的開始處需要添加如下一些名字空間:

        using System.IO;

        using System.Net.Sockets;

        using System.Threading;

        程序運(yùn)行時(shí),用戶首先單擊“開始監(jiān)聽”按鈕,啟動(dòng)監(jiān)聽程序,系統(tǒng)進(jìn)入監(jiān)聽狀態(tài),狀態(tài)欄有相應(yīng)的顯示。這樣,本機(jī)就相當(dāng)于“服務(wù)器/客戶機(jī)”模式中的服務(wù)器了,其他計(jì)算機(jī)通過IP地址連接到本機(jī),并且可以向本機(jī)發(fā)送消息。C#對(duì)網(wǎng)絡(luò)編程有良好的支持性能,所以程序員的工作量是比較小的。由于該軟件采用P2P模式,所以只要另一臺(tái)計(jì)算機(jī)的用戶也按下"開始監(jiān)聽"按鈕,那臺(tái)計(jì)算機(jī)也成了對(duì)應(yīng)計(jì)算機(jī)的服務(wù)器了。此時(shí)就可以實(shí)現(xiàn)消息互發(fā)功能,在該模式下真正的服務(wù)器是不存在的,每臺(tái)計(jì)算機(jī)都是服務(wù)器,同時(shí)每臺(tái)計(jì)算機(jī)也是客戶機(jī),這就體現(xiàn)了P2P技術(shù)的"非中心化"原則。

        圖1 系統(tǒng)主界面

        系統(tǒng)中使用Listen()函數(shù)來監(jiān)聽消息,通過Send()函數(shù)來發(fā)送即時(shí)信息。系統(tǒng)中實(shí)現(xiàn)監(jiān)聽的核心程序代碼如下。

        函數(shù)的主體是一個(gè)try-catch語句,try部分又是一個(gè)while循環(huán),這表示只要用戶不按"停止監(jiān)聽"按鈕,程序就會(huì)一直處于監(jiān)聽狀態(tài)。監(jiān)聽的端口是3280,這個(gè)端口是可以自己定義的,只要不跟常用的端口混淆就行了。一旦程序接收到遠(yuǎn)程計(jì)算機(jī)的一條消息,就將該消息添加到消息顯示框中(消息顯示框就是那個(gè)RichTextBox控件)。函數(shù)的catch部分是捕捉異常用的,如用戶之間設(shè)置了防火墻,就不能彼此通訊了,或是對(duì)方已經(jīng)停止監(jiān)聽了,那當(dāng)然就不能向它發(fā)送消息了。在系統(tǒng)中通過函數(shù)Send()實(shí)現(xiàn)程序發(fā)送即時(shí)消息的功能,核心代碼如下:

        該函數(shù)的主體部分也是一個(gè)try-catch語句,它先根據(jù)用戶的輸入,建立一個(gè)和遠(yuǎn)程計(jì)算機(jī)的連接,注意其端口也為3280,而且必須是3280,這是為了和接收方端口保持一致,這樣對(duì)方才能收到這里發(fā)送的消息。接著,函數(shù)根據(jù)用戶在消息輸入框中的內(nèi)容以及用戶的昵稱向遠(yuǎn)程計(jì)算機(jī)發(fā)送消息。這樣,只要網(wǎng)絡(luò)無故障、遠(yuǎn)程計(jì)算機(jī)已經(jīng)處于監(jiān)聽狀態(tài),它就能接收到這里發(fā)送的消息了。當(dāng)然,這里處于監(jiān)聽狀態(tài)了,遠(yuǎn)程的計(jì)算機(jī)也可以自如地往這里發(fā)消息。函數(shù)的catch部分也是用于捕捉一些異常的。

        程序運(yùn)行如圖2所示。

        圖2 軟件運(yùn)行效果圖

        在該軟件中還可以添加消息存盤與消息上傳功能,可以將即時(shí)消息上傳到指定的郵箱,同時(shí)還可以添加軟件背景修改等個(gè)性設(shè)計(jì),通過不斷的修改與完善,一個(gè)功能強(qiáng)大的即時(shí)消息軟件不僅可以在局域網(wǎng)內(nèi)運(yùn)行,同樣可以在互聯(lián)網(wǎng)上運(yùn)行。

        4 結(jié)束語

        利用P2P技術(shù)的基本特性不但可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信,同時(shí)利用P2P技術(shù)與多線程技術(shù)相結(jié)合,我們還可開發(fā)出功能強(qiáng)大的能穿過防火墻進(jìn)行通訊的軟件程序。在即時(shí)消息系統(tǒng)的發(fā)展過程中,如何保障系統(tǒng)安全、為用戶提供可靠服務(wù)同樣重要。一個(gè)即時(shí)消息系統(tǒng)可能會(huì)保存數(shù)億用戶的個(gè)人信息,如何保證這些信息的安全將是一個(gè)長期課題。即時(shí)消息系統(tǒng)作為一種服務(wù)方式,如果能夠真正與Web服務(wù)緊密結(jié)合,必將獲得更大的市場價(jià)值。加強(qiáng)應(yīng)用軟件與網(wǎng)站平臺(tái)的融合,實(shí)現(xiàn)資源的優(yōu)勢互補(bǔ)和服務(wù)內(nèi)容的整合,通過交替推出新的應(yīng)用軟件和完善服務(wù)內(nèi)容的方式,擴(kuò)大網(wǎng)站的影響力,并同時(shí)獲得更多的應(yīng)用軟件用戶。未來基于P2P和多線程的“Web+即時(shí)消息系統(tǒng)”將是即時(shí)消息傳遞軟件發(fā)展的重要趨勢。

        [1]李銀國,李萍,蔣建春.基于OSEK COM規(guī)范的消息傳輸機(jī)制優(yōu)化[J].計(jì)算機(jī)工程,2008,34(17):257 -259.

        [2]孫東,朱丹.網(wǎng)間進(jìn)程同步與實(shí)時(shí)應(yīng)用[J].電訊技術(shù),2007,47(2):202 -205.

        猜你喜歡
        監(jiān)聽控件消息
        千元監(jiān)聽風(fēng)格Hi-Fi箱新選擇 Summer audio A-401
        一張圖看5G消息
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        網(wǎng)絡(luò)監(jiān)聽的防范措施
        電子制作(2017年20期)2017-04-26 06:58:02
        應(yīng)召反潛時(shí)無人機(jī)監(jiān)聽航路的規(guī)劃
        消息
        消息
        消息
        局域網(wǎng)監(jiān)聽軟件的設(shè)計(jì)
        河南科技(2014年5期)2014-02-27 14:08:21
        就這樣玩會(huì)VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        欧美色色视频| 含紧一点h边做边走动免费视频 | 国产精品久久无码不卡黑寡妇| 色综合久久五月天久久久| 在线中文字幕一区二区| 无遮挡18禁啪啪羞羞漫画| 在线观看国产精品日韩av| 国产亚洲欧美另类第一页| 久久久亚洲av午夜精品| 天天夜碰日日摸日日澡性色av| 久久乐国产精品亚洲综合| 99国产精品无码专区| 天堂久久一区二区三区| 国产精品久久久久9999| 99久久久无码国产精品免费砚床| 青青青国产免A在线观看| 国产在线av一区二区| 国产成人精品a视频| 中国精品久久精品三级| 国产毛片一区二区日韩| 国内久久婷婷六月综合欲色啪| 欧美极品jizzhd欧美| 国产精品亚洲A∨天堂| 长腿丝袜在线观看国产| 精品无码一区二区三区爱欲| 中文字幕乱码人妻一区二区三区| 日本不卡在线一区二区三区视频| 91九色极品探花内射| 国产精品美女久久久久av福利| 亚洲色欲在线播放一区| 亚洲视频中文字幕更新| 国产一区二区三区毛片| 精产国品一二三产区m553麻豆| 99综合精品久久| 在线免费观看蜜桃视频| 亚洲国产av玩弄放荡人妇系列| 四虎成人精品无码永久在线| 久久2020精品免费网站| 大又大又粗又硬又爽少妇毛片 | 亚洲中文字幕高清在线视频一区| 国产精品美女一区二区视频|