999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于P2P的即時消息傳遞軟件

2010-06-13 11:32:54徐江紅
微處理機 2010年3期
關(guān)鍵詞:程序計算機用戶

徐江紅

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

1 引言

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

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

2 P2P技術(shù)

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

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

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

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

3.1 界面設(shè)計

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

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

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

using System.IO;

using System.Net.Sockets;

using System.Threading;

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

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

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

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

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

程序運行如圖2所示。

圖2 軟件運行效果圖

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

4 結(jié)束語

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

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

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

猜你喜歡
程序計算機用戶
計算機操作系統(tǒng)
基于計算機自然語言處理的機器翻譯技術(shù)應(yīng)用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
試論我國未決羈押程序的立法完善
信息系統(tǒng)審計中計算機審計的應(yīng)用
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
關(guān)注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關(guān)注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關(guān)注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
創(chuàng)衛(wèi)暗訪程序有待改進
主站蜘蛛池模板: 亚洲色图欧美激情| 国产特级毛片| 免费在线a视频| 国产日韩精品一区在线不卡| 国产人碰人摸人爱免费视频| 999国内精品视频免费| 全部免费毛片免费播放| 国产成人高清在线精品| 色婷婷亚洲十月十月色天| 99在线视频免费| 国产一区二区免费播放| 国产成人免费高清AⅤ| 中文字幕调教一区二区视频| 91精品视频在线播放| 永久免费av网站可以直接看的 | 女人av社区男人的天堂| 爽爽影院十八禁在线观看| 亚洲av无码人妻| 2021亚洲精品不卡a| 欧美日韩一区二区在线免费观看| 99精品一区二区免费视频| 91久久国产成人免费观看| 熟妇丰满人妻| 国产成人a毛片在线| 亚洲AV成人一区国产精品| 熟女日韩精品2区| 久久综合色天堂av| 狠狠色噜噜狠狠狠狠色综合久| 国产激情无码一区二区免费 | 国产在线专区| 欧美日本激情| 中文字幕伦视频| 精品国产网| 久久综合AV免费观看| 亚洲一区无码在线| 国产精品久久久久久久久kt| 国产一区二区三区在线观看视频| 在线中文字幕日韩| 亚洲中文在线看视频一区| 欧美日韩激情在线| 亚洲国产综合精品一区| 国产成a人片在线播放| 久久久成年黄色视频| 欧美精品导航| 精品久久综合1区2区3区激情| 欧美日韩一区二区在线免费观看| 欧美日韩中文国产| 亚洲国产成熟视频在线多多| 国产91精品调教在线播放| 国产精品免费入口视频| 在线观看亚洲天堂| 国产在线拍偷自揄拍精品| 国产成人精品亚洲77美色| 精品国产黑色丝袜高跟鞋| 精品三级网站| 中国黄色一级视频| 亚洲人精品亚洲人成在线| 91久久天天躁狠狠躁夜夜| 国产精品极品美女自在线| 国产成人免费手机在线观看视频 | 午夜激情福利视频| 国产chinese男男gay视频网| 久久久久久久久18禁秘| 2020国产免费久久精品99| 中文毛片无遮挡播放免费| 国产乱子伦视频在线播放| 8090午夜无码专区| 国产欧美成人不卡视频| 丰满人妻被猛烈进入无码| 综合五月天网| 老司机久久精品视频| 久久中文无码精品| 欧美a级完整在线观看| 欧美午夜在线视频| 一本综合久久| 日韩第九页| 国产免费羞羞视频| 亚洲成人黄色在线观看| 91无码网站| 国产在线拍偷自揄拍精品| 谁有在线观看日韩亚洲最新视频| 第一区免费在线观看|