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

局域網(wǎng)通信工具開(kāi)發(fā)中的核心技術(shù)解析

2014-12-25 05:03:36張永來(lái)
科技視界 2014年26期
關(guān)鍵詞:網(wǎng)絡(luò)通信功能

張永來(lái)

(四川師范大學(xué)信息技術(shù)學(xué)院,四川 成都610068)

0 概述

局域網(wǎng)通信工具是一個(gè)局域網(wǎng)內(nèi)部常用的通信工具,最典型的就是一般公司常用的飛秋。局域網(wǎng)通信工具一般要求具有的主要功能有一對(duì)一聊天、群聊、一對(duì)一傳文件。如何設(shè)計(jì)整個(gè)系統(tǒng)的功能與結(jié)構(gòu),怎么實(shí)現(xiàn)這些通信等等是在開(kāi)發(fā)過(guò)程中涉及到的主要問(wèn)題,以達(dá)到功能需求并提高整體性能。

1 統(tǒng)框架設(shè)計(jì)

局域網(wǎng)通信工具主要功能包括三個(gè):?jiǎn)瘟摹⑷毫暮蛡魑募Mㄐ拍J椒譃閮煞N:C/S模式和B/S模式,本文采用C/S模式,即客戶(hù)端/服務(wù)器模式,在一個(gè)局域網(wǎng)中設(shè)一臺(tái)服務(wù)器和若干臺(tái)客戶(hù)端機(jī)器。而客戶(hù)端與服務(wù)器中間的通信有兩種方式:一、所有客戶(hù)端之間的通信信息都經(jīng)過(guò)服務(wù)器進(jìn)行轉(zhuǎn)發(fā)。此結(jié)構(gòu)的優(yōu)點(diǎn)是可以在服務(wù)器中控制整個(gè)通信過(guò)程和記錄通信信息,缺點(diǎn)是:服務(wù)器負(fù)擔(dān)較重,對(duì)服務(wù)器性能要求較后者高。二、服務(wù)器只起到管理客戶(hù)端的作用,三種功能的實(shí)現(xiàn)是在客戶(hù)端之間傳送通信信息,不通過(guò)服務(wù)器進(jìn)行轉(zhuǎn)發(fā)。此結(jié)構(gòu)的優(yōu)點(diǎn)是:服務(wù)器負(fù)擔(dān)較前者輕,對(duì)服務(wù)器性能要求不高,缺點(diǎn)是:通信信息不經(jīng)過(guò)服務(wù)器進(jìn)行轉(zhuǎn)發(fā),服務(wù)器不能控制整個(gè)通信過(guò)程,也不能記錄通信信息。

綜合考慮以上兩個(gè)結(jié)構(gòu)的優(yōu)缺點(diǎn),結(jié)合局域網(wǎng)通信的特點(diǎn),聊天記錄通常需要查閱,為了更好地保存聊天記錄、監(jiān)控聊天內(nèi)容,單聊和群聊信息需要通過(guò)服務(wù)器進(jìn)行中轉(zhuǎn);而文件傳輸實(shí)時(shí)性要求較高,為了提高文件傳輸速度,傳文件功能不通過(guò)服務(wù)器進(jìn)行中轉(zhuǎn),而是直接在客戶(hù)端之間完成,服務(wù)器為并發(fā)服務(wù)器[1],結(jié)構(gòu)圖如圖1。

圖1 本文采用的通信結(jié)構(gòu)

2 關(guān)鍵技術(shù)研究

2.1 關(guān)鍵技術(shù)概述

整個(gè)系統(tǒng)的開(kāi)發(fā)過(guò)程涉及到的核心技術(shù)有MFC界面技術(shù)[2]、多線(xiàn)程及其同步技術(shù)、網(wǎng)絡(luò)通信技術(shù)及數(shù)據(jù)庫(kù)連接技術(shù)。限于篇幅,本文重點(diǎn)結(jié)合實(shí)踐介紹核心技術(shù)中的關(guān)鍵技術(shù):網(wǎng)絡(luò)通信與多線(xiàn)程及其同步技術(shù)。

2.2 多線(xiàn)程及其同步技術(shù)[3]

2.2.1 多線(xiàn)程概念、思想及用法

多線(xiàn)程(multithreading),是指從軟件或者硬件上實(shí)現(xiàn)多個(gè)線(xiàn)程并發(fā)執(zhí)行的技術(shù)。具有多線(xiàn)程能力的計(jì)算機(jī)因有硬件支持而能夠在同一時(shí)間執(zhí)行多于一個(gè)線(xiàn)程,即同一時(shí)間內(nèi)完成多個(gè)任務(wù),進(jìn)而提升整體處理性能。線(xiàn)程創(chuàng)建函數(shù)CreateThread的用法如下,本文用法見(jiàn)代碼部分。

核心接口函數(shù):CreateThread的函數(shù)功能是創(chuàng)建線(xiàn)程,其函數(shù)原型為:

HANDLEWINAPICreateThread(

LPSECURITY_ATTRIBUTES lpThreadAttributes,

SIZE_T dwStackSize,

LPTHREAD_START_ROUTINE lpStartAddress,

LPVOID lpParameter,

DWORD dwCreationFlags,

LPDWORD lpThreadId);

函數(shù)說(shuō)明:

第一個(gè)參數(shù)lpThreadAttributes表示線(xiàn)程內(nèi)核對(duì)象的安全屬性,一般傳入NULL表示使用默認(rèn)設(shè)置。

第二個(gè)參數(shù)dwStackSize表示線(xiàn)程棧空間大小。傳入0表示使用默認(rèn)大小(1MB)。

第三個(gè)參數(shù)lpStartAddress表示新線(xiàn)程所執(zhí)行的線(xiàn)程函數(shù)地址,多個(gè)線(xiàn)程可以使用同一個(gè)函數(shù)地址。

第四個(gè)參數(shù)lpParameter是傳給線(xiàn)程函數(shù)的參數(shù)。

第五個(gè)參數(shù)dwCreationFlags指定額外的標(biāo)志來(lái)控制線(xiàn)程的創(chuàng)建,為0表示線(xiàn)程創(chuàng)建之后立即就可以進(jìn)行調(diào)度,如果為CREATE_SUSPENDED則表示線(xiàn)程創(chuàng)建后暫停運(yùn)行,這樣它就無(wú)法調(diào)度,直到調(diào)用ResumeThread()。

第六個(gè)參數(shù)lpThreadId將返回線(xiàn)程的ID號(hào),傳入NULL表示不需要返回該線(xiàn)程ID號(hào)。

函數(shù)返回值:

成功返回新線(xiàn)程的句柄,失敗返回NULL。

2.2.2 線(xiàn)程同步技術(shù)

同一個(gè)進(jìn)程中的多線(xiàn)程技術(shù)通常要結(jié)合同步技術(shù)實(shí)現(xiàn),因?yàn)橐恍┟舾袛?shù)據(jù)不允許被多個(gè)線(xiàn)程同時(shí)訪(fǎng)問(wèn),此時(shí)就使用同步訪(fǎng)問(wèn)技術(shù),保證數(shù)據(jù)在任何時(shí)刻,最多有一個(gè)線(xiàn)程訪(fǎng)問(wèn),以保證數(shù)據(jù)的完整性。同步就是協(xié)同步調(diào),按預(yù)定的先后次序進(jìn)行運(yùn)行。線(xiàn)程同步方式主要有四種:臨界區(qū)、互斥量、事件、信號(hào)量[4]四種方式。本文中主要結(jié)合事件對(duì)象方式闡述線(xiàn)程與線(xiàn)程同步的應(yīng)用。

事件對(duì)象使用的核心接口函數(shù):CreateEvent的函數(shù)功能是創(chuàng)建事件對(duì)象,其函數(shù)原型為:

HANDLE CreateEvent(

LPSECURITY_ATTRIBUTESlpEventAttributes,

BOOL bManualReset,

BOOL InitialState,

LPTSTR lpName);

第一個(gè)參數(shù)lpEventAttributes一般忽略不管。

第二個(gè)參數(shù)bManualReset參數(shù)表示事件對(duì)象是自動(dòng)類(lèi)型的還是手動(dòng)類(lèi)型的,true表示手動(dòng)類(lèi)型,必須使用ResetEvent使其處于無(wú)信號(hào)狀態(tài);false表示自動(dòng)類(lèi)型,不需要使用ResetEvent而被獲取后自動(dòng)處于無(wú)信號(hào)狀態(tài)。

第三個(gè)參數(shù)InitialState參數(shù)表示該事件對(duì)象創(chuàng)建后是否處于有信號(hào)狀態(tài),即是否可被線(xiàn)程獲取而使線(xiàn)程具有運(yùn)行權(quán)。

第四個(gè)參數(shù)lpName參數(shù)表示事件對(duì)象的名稱(chēng),可以為任意合法字符串。

2.3 網(wǎng)絡(luò)通信技術(shù)

網(wǎng)絡(luò)通信模型中的傳輸層主要有兩種協(xié)議:TCP協(xié)議和UDP協(xié)議。TCP協(xié)議優(yōu)點(diǎn)是面向連接的可靠傳輸,缺點(diǎn)是通信期間始終保持連接,系統(tǒng)性能下降,適用于通信量集中且通信量較大的情況。UDP協(xié)議為無(wú)連接的不可靠傳輸,優(yōu)點(diǎn)是不影響系統(tǒng)性能,適用于通信不定時(shí)且通信量不大的情況。而網(wǎng)絡(luò)通信中常用的核心接口socket就是基于這兩種協(xié)議[5-6]。兩種通信方式的過(guò)程如圖2和圖3。

圖2 UDP傳輸模型

圖3 TCP傳輸模型

3 代碼講解

}//以上完成套接字庫(kù)的加載

get_msg_socket=socket(AF_INET,SOCK_DGRAM,0);//創(chuàng)建一個(gè)UDP數(shù)據(jù)包套接字

4 結(jié)論

本文詳述了局域網(wǎng)通信工具的框架及實(shí)現(xiàn)的關(guān)鍵技術(shù),其中系統(tǒng)框架的設(shè)計(jì)思想比較適合實(shí)際應(yīng)用,實(shí)現(xiàn)過(guò)程中使用了多線(xiàn)程及其同步技術(shù),較好地達(dá)到了服務(wù)器端的要求,系統(tǒng)功能較為全面。界面還不夠美觀,有待完善。

[1]王楓,羅家榮.Linux下多線(xiàn)程Socket通訊的研究與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2004,16:106-109.

[2]孫鑫.VC++深入詳解(修訂版)[M].北京:電子工業(yè)出版社,2012:1-307.

[3]駱斌,費(fèi)翔林.多線(xiàn)程技術(shù)的研究與應(yīng)用[J].計(jì)算機(jī)研究與發(fā)展,2000,37,(4):407-412.

[4]陳少?gòu)?qiáng).VC中基于MFC的多線(xiàn)程應(yīng)用程序設(shè)計(jì)[J].三明高等專(zhuān)科學(xué)校學(xué)報(bào),2002,19(2):49-55.

[5][韓]尹圣雨.TCP/IP網(wǎng)絡(luò)編程[M].金國(guó)哲,譯.北京:人民郵電出版社,2014:1-242.

[6]劉燁.用Socket實(shí)現(xiàn)基于TCP和UDP的原理探索[J].電腦學(xué)習(xí),2009(3):6-8.

猜你喜歡
網(wǎng)絡(luò)通信功能
也談詩(shī)的“功能”
海上軍用網(wǎng)絡(luò)通信的安全控制技術(shù)
基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計(jì)
電子制作(2019年15期)2019-08-27 01:11:48
計(jì)算機(jī)網(wǎng)絡(luò)通信常見(jiàn)問(wèn)題與技術(shù)發(fā)展研究
電子制作(2018年10期)2018-08-04 03:24:46
網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計(jì)
電子制作(2018年1期)2018-04-04 01:48:30
談?dòng)?jì)算機(jī)網(wǎng)絡(luò)通信常見(jiàn)問(wèn)題及技術(shù)發(fā)展
電子制作(2017年17期)2017-12-18 06:41:06
關(guān)于非首都功能疏解的幾點(diǎn)思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡(jiǎn)直”和“幾乎”的表達(dá)功能
主站蜘蛛池模板: 亚洲成人动漫在线观看| 99精品久久精品| 亚洲精品国产精品乱码不卞| 亚洲男人的天堂视频| 日韩无码黄色网站| 欧美一级夜夜爽| 亚洲日韩精品无码专区97| 在线精品亚洲一区二区古装| 国产swag在线观看| 久久香蕉国产线看观看精品蕉| 男女男精品视频| 好紧好深好大乳无码中文字幕| 午夜无码一区二区三区| 国产美女在线观看| 青草精品视频| 国产午夜在线观看视频| 中文字幕永久在线看| 免费毛片网站在线观看| 国产在线观看一区二区三区| 久久免费视频6| 婷婷午夜天| 日日拍夜夜操| 国产亚洲第一页| 91免费国产在线观看尤物| 噜噜噜久久| 久久精品国产一区二区小说| 精品福利网| 国产打屁股免费区网站| 国产在线专区| 深夜福利视频一区二区| 伊人久久精品无码麻豆精品| 高清不卡毛片| 亚洲天堂网站在线| 欧美第二区| 日韩久草视频| 色综合久久无码网| 亚洲丝袜中文字幕| 亚洲精选高清无码| 久久精品午夜视频| 一个色综合久久| 成人毛片免费观看| 3p叠罗汉国产精品久久| 国产成人综合亚洲网址| 波多野结衣国产精品| 日韩毛片免费观看| 国产精品护士| 在线不卡免费视频| 欧美日韩国产系列在线观看| 26uuu国产精品视频| 国产精品爽爽va在线无码观看| 国产大片喷水在线在线视频| 午夜久久影院| 久久亚洲精少妇毛片午夜无码| 制服丝袜一区| 国产最爽的乱婬视频国语对白| 毛片免费在线视频| 91福利国产成人精品导航| 国产在线拍偷自揄观看视频网站| 国产精品亚洲精品爽爽| 伊人久久婷婷| 99久久精品视香蕉蕉| av一区二区三区高清久久| 亚洲综合第一区| 国产午夜看片| 国产美女无遮挡免费视频| 国产无遮挡裸体免费视频| 免费看美女毛片| 日韩成人在线视频| 精品亚洲麻豆1区2区3区| 久久婷婷五月综合97色| 一级毛片免费不卡在线| 中日韩欧亚无码视频| 欧美日韩国产在线观看一区二区三区| 国产精品视频白浆免费视频| 思思99热精品在线| 久久久亚洲色| 全部免费特黄特色大片视频| 国产日本视频91| 午夜精品区| 九九九九热精品视频| 怡春院欧美一区二区三区免费| 亚洲精品欧美重口|