freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

計(jì)算機(jī)網(wǎng)絡(luò)課設(shè)-文庫(kù)吧資料

2024-11-19 03:40本頁(yè)面
  

【正文】 e){MessageBox mb=new MessageBox(shell,|)。()。()。} } }))。(newString[]{ ()})。().syncExec(new Runnable(){Overridepublicvoid run(){}()。InetAddress ia=。()。}))。()。度InetSocketAddress(ip,)。ds=new DatagramSocket(7890)。//要發(fā)送的內(nèi)容的字節(jié)數(shù)組的長(zhǎng)DatagramPacket dp=null。String[]{ ()})。(new//TODO:將這個(gè)地址存到集合中(不允許重復(fù)),hashset ()。//將要發(fā)送的內(nèi)容轉(zhuǎn)//將hashset中的數(shù)據(jù)顯示到table中去 ()。String content=().toString()。說(shuō):rn”++“rn”+new Date()+“rn”)。Overridepublicvoid run(){(+“對(duì)我 ().asyncExec(new Runnable(){Overridepublicvoid notifyResult(Object obj){ tr=(TalkResult)obj。(2)故障處理在遇到可預(yù)知的故障與情況時(shí),能提示用戶(hù)并自動(dòng)退出;在遇到不可預(yù)知的故障時(shí)能安全退出??稍诰W(wǎng)絡(luò)中使用,有注冊(cè)功能,需進(jìn)行用戶(hù)登錄。(4)模塊化設(shè)計(jì)此軟件的功能,不同的模塊實(shí)現(xiàn)不同的功能,使得軟件易于以后的維護(hù)與擴(kuò)展,在以后可以更好的完善本軟件的功能,更方便于在工作中的應(yīng)用。設(shè)計(jì)界面是,簡(jiǎn)化界面的復(fù)雜性,模擬等現(xiàn)有即時(shí)通訊工具的界面,使用戶(hù)能很容易看懂并使用。在程序的設(shè)計(jì)過(guò)程中,要求能盡可能多的設(shè)想到用戶(hù)使用過(guò)程中可能發(fā)生的事件,并能在判斷事件后做出相應(yīng)的處理,使程序具有較高的容錯(cuò)性能。包括客戶(hù)端剛剛啟動(dòng)時(shí)的初始化信息和在使用過(guò)程中的確認(rèn)在線(xiàn)信息。服務(wù)器端存放在適當(dāng)?shù)目臻g中,在發(fā)送給客戶(hù)端時(shí),對(duì)信息列表進(jìn)行格式化,便于客戶(hù)端提取信息。在控件上顯示時(shí)格式化,更易于用戶(hù)的查看自己發(fā)送或接收到的信息。在使用過(guò)程中,客戶(hù)端在指定時(shí)間內(nèi)未向服務(wù)器端發(fā)送信息的,服務(wù)器認(rèn)為客戶(hù)端下線(xiàn);客戶(hù)端在一定時(shí)間內(nèi)未收到服務(wù)器端信息的,認(rèn)為服務(wù)器已經(jīng)下線(xiàn),則提示用戶(hù)并建議退出,在用戶(hù)一定時(shí)間后沒(méi)有退出的則自動(dòng)關(guān)閉客戶(hù)端程序。(3)在C/S模式中,服務(wù)器與客戶(hù)端是相互依賴(lài)的。需要在客戶(hù)端和服務(wù)器端都使用定時(shí)器來(lái)完成此功能。(2)在線(xiàn)用戶(hù)主機(jī)IP列表的維護(hù)。3系統(tǒng)需求分析與概要設(shè)計(jì)(1)用戶(hù)端之間的信息發(fā)送,本程序需要實(shí)現(xiàn)的最基本的功能。C/:1)Server 服務(wù)器方一般都是在等待客戶(hù)方的申請(qǐng),建立connect后再進(jìn)行通信。圖五其主要工作流程為: 服務(wù)器方首先創(chuàng)建一個(gè)socket,再調(diào)用綁定函數(shù)將該socket和本地網(wǎng)絡(luò)地址綁定,然后調(diào)用監(jiān)聽(tīng)函數(shù)對(duì)socket進(jìn)行偵聽(tīng)同時(shí)也規(guī)定其處理大小,之后就調(diào)用接收函數(shù)來(lái)接收連接。(5)連接成功后,與服務(wù)器進(jìn)行數(shù)據(jù)的交互。:(1)建立一個(gè)客戶(hù)端的Socket。(3)在監(jiān)聽(tīng)的過(guò)程中,如果有用戶(hù)發(fā)出了請(qǐng)求,則服務(wù)器會(huì)產(chǎn)生一個(gè)新的連接Socket來(lái)處理用戶(hù)的請(qǐng)求,而原來(lái)的Socket仍然會(huì)進(jìn)行監(jiān)聽(tīng)操作。WinSocket通信的步驟::(1)建立服務(wù)器端的Socket,開(kāi)始偵聽(tīng)整個(gè)網(wǎng)絡(luò)中的連接請(qǐng)求。對(duì)于客戶(hù)端來(lái)說(shuō),首先調(diào)用connect()函數(shù)向服務(wù)器發(fā)出連接請(qǐng)求。在監(jiān)聽(tīng)狀態(tài)下,如果客戶(hù)端向服務(wù)器發(fā)起連接請(qǐng)求,服務(wù)器通過(guò)調(diào)用accept()函數(shù)來(lái)接受該連接請(qǐng)求。bind()函數(shù)實(shí)現(xiàn)將服務(wù)器綁定到一個(gè)已知的名字上的功能。客戶(hù)端連接服務(wù)器時(shí),必須先知道服務(wù)器的名稱(chēng)??蛻?hù)通過(guò)關(guān)閉套接字來(lái)結(jié)束TCP/IP對(duì)話(huà)。客戶(hù)機(jī)向服務(wù)器發(fā)送請(qǐng)求,打開(kāi)一個(gè)連接后,客戶(hù)機(jī)把請(qǐng)求消息送到服務(wù)器的停留端口上,完成提出請(qǐng)求操作。其程序的流程可以用圖四表示。 Socket網(wǎng)絡(luò)編程原理通常套接口分類(lèi):原始socket,,傳輸數(shù)據(jù)時(shí)相互獨(dú)立,無(wú)序的,。應(yīng)用程序必須關(guān)心IP數(shù)據(jù)報(bào)的長(zhǎng)度。IP地址分類(lèi)如下圖所示:圖三IP地址分類(lèi) UDP:用戶(hù)數(shù)據(jù)報(bào)協(xié)議UDP是一個(gè)面向數(shù)據(jù)報(bào)的傳輸層協(xié)議:進(jìn)程的每個(gè)輸出都會(huì)被封裝成一個(gè)UDP數(shù)據(jù)報(bào),并組裝成一份待發(fā)送的IP數(shù)據(jù)報(bào)。2)IP在發(fā)送數(shù)據(jù)報(bào)之后就不在關(guān)心次數(shù)據(jù)報(bào)的狀態(tài)信息。而且IP提供無(wú)連接、不可靠的數(shù)據(jù)報(bào)傳送服務(wù):1)IP協(xié)議不能保證IP數(shù)據(jù)報(bào)能成功地傳輸?shù)浇邮辗?。圖二三次握手與四次揮手 IP:網(wǎng)際協(xié)議IP協(xié)議是TCP/IP協(xié)議族中最為重要的協(xié)議。2)當(dāng)接收方收到這個(gè)請(qǐng)求,會(huì)發(fā)送一個(gè)確認(rèn),再發(fā)送文件終止標(biāo)志。這個(gè)過(guò)程就是建立TCP連接的“三次握手”過(guò)程。同時(shí),也發(fā)送一個(gè)收到客戶(hù)方報(bào)文的一個(gè)確認(rèn)。 TCP連接建立與終止建立連接(如圖2):1)一方首先發(fā)送一個(gè)連接申請(qǐng)。7)TCP還提供控制傳輸數(shù)據(jù)大小的機(jī)制。5)IP數(shù)據(jù)報(bào)的順次在傳輸過(guò)程中可能會(huì)發(fā)生改變,所以TCP將對(duì)收到的數(shù)據(jù)進(jìn)行重新排序,將收到的數(shù)據(jù)重新排列以后再交給應(yīng)用層處理。工作是檢測(cè)數(shù)據(jù)在傳輸過(guò)程中是否發(fā)生改變。3)TCP的一端收到另一端發(fā)送來(lái)的數(shù)據(jù)時(shí),它將發(fā)送一個(gè)確認(rèn)。然后再進(jìn)行發(fā)送。確保了傳輸?shù)目煽啃?,運(yùn)用TCP協(xié)議的主機(jī)在交換數(shù)據(jù)之前必須首先建立一個(gè)連接。4)應(yīng)用層,主要同于上層的應(yīng)用程序進(jìn)行的操作。它的工作只是把數(shù)據(jù)分組從發(fā)送方傳輸?shù)浇邮辗?,但是?shù)據(jù)分組能否成功達(dá)到接收方它不會(huì)給予保證。它可以通過(guò)三次握手,超時(shí)設(shè)置等機(jī)制來(lái)有效地保證了數(shù)據(jù)傳輸?shù)目煽啃?。在TCP/IP協(xié)議族中,有兩個(gè)主要的且互不相同的傳輸協(xié)議:TCP(傳輸控制協(xié)議)和UDP(用戶(hù)數(shù)據(jù)報(bào)協(xié)議)。在協(xié)議族中,如圖所示,網(wǎng)絡(luò)層協(xié)議主要包括了3個(gè)重要的協(xié)議。圖1 TCP/IP結(jié)構(gòu)如圖所示,每個(gè)level都有不同工作:1)鏈路層,也稱(chēng)為數(shù)據(jù)鏈路層或網(wǎng)絡(luò)接口層,通常包括PC機(jī)自身的網(wǎng)絡(luò)接口卡和本機(jī)操作系統(tǒng)中的設(shè)備驅(qū)動(dòng)程序,用來(lái)處理相關(guān)的物理接口。對(duì)于某一個(gè)協(xié)議族,比如TCP/IP,是一組不同層次上的多個(gè)協(xié)議的組合?;赟ocket的局域網(wǎng)通信軟件應(yīng)用范圍廣闊,不但可以處理傳統(tǒng)的通信需求,而且也能擴(kuò)展以適應(yīng)新型的網(wǎng)絡(luò)應(yīng)用,如網(wǎng)絡(luò)教育,數(shù)據(jù)影音傳輸?shù)?,擁有廣泛的應(yīng)用前景?;赟ocket的局域網(wǎng)聊天工具是此類(lèi)局域網(wǎng)通信軟件的具體實(shí)例之一,它很好地詮釋了Socket通信的原理,并且在企業(yè)內(nèi)部通信、教學(xué)、討論等應(yīng)用中都具有一定的實(shí)用價(jià)值?;赟ocket的局域網(wǎng)通信軟件可以為企業(yè)原有的局域網(wǎng)提供一種良好,安全,快速的通信機(jī)制。提升網(wǎng)絡(luò)帶寬及增加服務(wù)器的吞吐能力是解決此矛盾的一種方法。這些在企業(yè)內(nèi)部原有局域網(wǎng)設(shè)計(jì)之初未曾考慮到的新情況的出現(xiàn)使得局域網(wǎng)不堪重負(fù),容易發(fā)生信息阻塞,此時(shí),局域網(wǎng)不但不能提高生產(chǎn)效率,反而成為企業(yè)發(fā)展的瓶頸。在內(nèi)部局域網(wǎng)的幫助下,企業(yè)得以簡(jiǎn)化信息流程,提高信息交換的速度,從而提高工作效率。經(jīng)過(guò)測(cè)試,程序能夠有效達(dá)到基本的預(yù)期要求關(guān)鍵詞 課程設(shè)計(jì);計(jì)算機(jī);TCP/IP協(xié)議;服務(wù)器/客戶(hù)端;JAVA;引言近年來(lái),隨著全球信息化進(jìn)程的不斷發(fā)展,網(wǎng)絡(luò)也在飛速發(fā)展。該軟件采用多線(xiàn)程技術(shù)支持多用戶(hù)操作,能夠幫助企業(yè)在局域網(wǎng)內(nèi)搭建起自己的聊天系統(tǒng)。并對(duì)網(wǎng)絡(luò)通訊原理進(jìn)行了說(shuō)明,采用了Client/Server模型, 程序基于TCP協(xié)議,通過(guò)socket接口來(lái)實(shí)現(xiàn)局域網(wǎng)內(nèi)的即時(shí)通信工功能即聊天的功能。有的時(shí)候單位內(nèi)部的員工,同學(xué),可能沒(méi)有互聯(lián)網(wǎng)環(huán)境或者其他的原因希望不用上Internet就可以進(jìn)行通訊,這樣開(kāi)發(fā)局域網(wǎng)通訊程序就有了必要性。return 0。}else{ printf(“t數(shù)據(jù)錯(cuò)誤”)。int ju=crc12(data_t,len)。int crc12_=data_t[len2]。printf(“%x”,data_t[len1]4)。jprintf(“%c”,data_t[j])。iprintf(“t文件讀出數(shù)據(jù)為:”)。bb)。len)。exit(0)。fp_code=fopen(“C:”,“r”)。int ax,bx,crc,cx,qx。} int main(){ // EVILKOK49CC625codecode FILE *fp_code,*fp_crc。}//判斷夠不夠13位,夠就異或 wcrc=1。while(iqir)){ wcrc|=0x01。///crc碼iq=0。uchar ir。} /*這里校驗(yàn)數(shù)據(jù)是否對(duì)不對(duì)和生成crc碼那個(gè)算法是一樣的,最后生成的crc12是不是0就可以知道數(shù)據(jù)對(duì)不對(duì)了*/ int crc12(uchar buf[],int len){ int wcrc。)i++。while(buf[i]!=39。}接收端:include include typedef unsigned char uchar。printf(“發(fā)送成功n”)。//先去12位crc碼的前8位fprintf(fp_crc,“%c”,(crumfclose(fp_crc)。/*我先存入字符的長(zhǎng)度+crc碼長(zhǎng)度,再加上crc碼,我們這個(gè)12位分成了2個(gè)8位的字節(jié)來(lái)存放*/ for(int i=0。exit(0)。fp_crc=fopen(“C:”,“w”)。crum=crc12(ch,len)。// printf(“內(nèi)容:%sn”,ch)。printf(“請(qǐng)輸入的內(nèi)容:n”)。printf(“用模2除法計(jì)算CRC碼生成多項(xiàng)式為CRC12 n”)。uint crum。return i。39。//最后返回的就是crc12碼 } /*獲取字符串長(zhǎng)度的函數(shù)*/ int ucharstrlen(uchar buf[]){ int i=0。} wcrc=1。} if(wcrc=0x1000)//這里就是判斷哪個(gè)最高位是1的13位進(jìn)制數(shù)滿(mǎn)不滿(mǎn)足,滿(mǎn)足就異或0x180D { wcrc^=0x180D。//buf字符串下標(biāo),從0到len1,初始化為0 ir=0。wcrc=0。int i,iq。typedef unsigned char uchar。int ju=crc12(data_t,len)。data_t[i])。//讀取長(zhǎng)度后一個(gè)空格 for(int i=0。//讀取長(zhǎng)度f(wàn)scanf(fp_code,“%c”,amp。//共享計(jì)算機(jī)組名為Pc14的codecode文件夾 fscanf(fp_code,“%d”,amp。//先去12位crc碼的前8位fprintf(fp_crc,“%c”,(crum//最后存入文檔中另一臺(tái)計(jì)算機(jī)從計(jì)算機(jī)中的共享文件夾讀取數(shù)據(jù),讀出后數(shù)據(jù)進(jìn)行CRC12校驗(yàn),若讀出數(shù)據(jù)對(duì)生成多項(xiàng)式取余,若余數(shù)為0,則信息傳輸正確,否則信息傳輸錯(cuò)誤。ifprintf(fp_crc,“%c”,ch[i])。//打開(kāi)文件夾 fprintf(fp_crc,“%d ”,len+2)。文件共享: 將計(jì)算的數(shù)據(jù)存入共享的文件夾中,所以我們必須要先建立一個(gè)codecode的文件夾,并設(shè)為共享。這時(shí)是不夠13位的,所以我們可以在繼續(xù)往后加二進(jìn)制,假如3個(gè)字符,那么總共有24位進(jìn)制,我們還有14到24位這些還沒(méi)有加。所以我們的運(yùn)算就是先獲取前面13位,這里的前13位二進(jìn)制是指第一位是1的13位二進(jìn)制。程序流程圖:CRC12校驗(yàn)方法:多項(xiàng)式是0x180D,有13位,crc12本來(lái)是12位,16進(jìn)制的0x80D前面補(bǔ)了個(gè)1,所以就是13位的。CRC校驗(yàn)可以100%地檢測(cè)出所有奇數(shù)個(gè)隨機(jī)錯(cuò)誤和長(zhǎng)度小于等于k(k為g(x)的階數(shù))的突發(fā)錯(cuò)誤。CRC的處理方法是:發(fā)送方以g(x)去除t(x),得到余數(shù)作為CRC校驗(yàn)碼。在接收端,則根據(jù)信息碼和CRC碼之間所遵循的規(guī)則進(jìn)行檢驗(yàn),以確定傳送中是否出錯(cuò)。CRC原理:CRC碼為循環(huán)冗余校驗(yàn)碼,基本表示方式為(n,k),其中n為數(shù)據(jù)位數(shù),k為校驗(yàn)碼位數(shù)。CRC12:G(x)=x+x+x+x+x+1接收方將接收到的二進(jìn)制序列數(shù)(包括信息碼和 CRC 碼)除以多項(xiàng)式,如果余數(shù)為0,則說(shuō)明傳輸中無(wú)錯(cuò)誤發(fā)生,否則說(shuō)明傳輸有誤,關(guān)于其原理這里不再多述。12B(x)212R(x)(21)=Q(x)+G(x)G(x)求CRC碼所采用模 2 加減運(yùn)算法則,既是不帶進(jìn)位和借位的按位加減,這種加減運(yùn)算實(shí)際上就是邏輯上的異或運(yùn)算,加法和減法等價(jià),乘法和除法運(yùn)算與普通代數(shù)式的乘除法運(yùn)算是一樣,符合同樣的規(guī)律。在接收端,則根據(jù)信息碼和 CRC 碼之間所遵循的規(guī)則進(jìn)行檢驗(yàn),以確定傳送中是否出錯(cuò)。課程設(shè)計(jì)目標(biāo):用C語(yǔ)言設(shè)計(jì)課程程序,完成用模2出發(fā)計(jì)算CRC碼的CRC校驗(yàn)軟件設(shè)計(jì),;;。CRC碼是數(shù)據(jù)通信領(lǐng)域中最常用的一種差錯(cuò)檢驗(yàn)碼,其特征是信息字段和校驗(yàn)字段的長(zhǎng)度可以任意選定。而且對(duì)于課設(shè)中存在的問(wèn)題和不足,以及通過(guò)老師的講解,對(duì)一些算法加以分析和改進(jìn),從而不斷完善課設(shè)內(nèi)容,對(duì)內(nèi)容的理解得以加深。cout 四、設(shè)計(jì)成果以及心得 1.成果通過(guò)對(duì)課設(shè)的相關(guān)的操作,加強(qiáng)了對(duì)于相關(guān)知識(shí)的理解,對(duì)于知識(shí)的應(yīng)用也得以加強(qiáng),在課設(shè)過(guò)程中,聊天機(jī)器人制作較為有趣,對(duì)于TCP與UDP的通信方式有了進(jìn)一步的理解和加強(qiáng),對(duì)于socket編程的相關(guān)基礎(chǔ)也得以進(jìn)一步的理解和學(xué)習(xí)。strcpy(sendData, “對(duì)不起,我不知道”)。if(strcmp(recvData, )== 0){} else { } st
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1