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

正文內(nèi)容

基于winsock的簡(jiǎn)單聊天工具的設(shè)計(jì)(編輯修改稿)

2025-07-17 12:35 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 和網(wǎng)絡(luò)上數(shù)據(jù)的存儲(chǔ)。同時(shí)為ICMP,TCP,UDP提供分組發(fā)送服務(wù)。用戶進(jìn)程通常不需要涉及這一層。ICMP:網(wǎng)間報(bào)文控制協(xié)議(Internet Control Message Protocol)此協(xié)議處理網(wǎng)關(guān)和主機(jī)的差錯(cuò)和傳送控制。TCP: 傳輸控制協(xié)議(Transmission Control Protocol)這是一種提供給用戶進(jìn)程的可靠的全雙工字節(jié)流面向連接的協(xié)議。它要為用戶進(jìn)程提供虛電路服務(wù),并為數(shù)據(jù)可靠傳輸建立檢查。三、關(guān)鍵技術(shù)與理論Java是Sun公司推出的一種編程語言。它是一種通過解釋方式來執(zhí)行的語言,語法規(guī)則和C++類似。同時(shí),Java也是一種跨平臺(tái)的程序設(shè)計(jì)語言。用Java語言編寫的程序叫做“Applet”(小應(yīng)用程序),用編譯器將它編譯成類文件后,將它存在WWW頁面中,并在HTML檔上作好相應(yīng)標(biāo)記,用戶端只要裝上Java的客戶軟件就可以在網(wǎng)上直接運(yùn)行“Applet”。 Java非常適合于企業(yè)網(wǎng)絡(luò)和Internet環(huán)境,現(xiàn)在已成為Internet中最受歡迎、最有影響的編程語言之一。 Java有許多值得稱道的優(yōu)點(diǎn),如簡(jiǎn)單、面向?qū)ο?、分布式、解釋性、可靠、安全、結(jié)構(gòu) 2. Java Socket網(wǎng)絡(luò)編程接口 事實(shí)上網(wǎng)絡(luò)編程,簡(jiǎn)單的理解就是兩臺(tái)計(jì)算機(jī)相互通訊數(shù)據(jù)而已。對(duì)于程序員而言,去掌握一種編程接口并使用一種編程模型相對(duì)就會(huì)顯得簡(jiǎn)單的多了。Java sdk提供一些相對(duì)簡(jiǎn)單的api來完成這些工作,socket就是其中之一。 對(duì)于java而言。因此,只要導(dǎo)入這個(gè)包就可以準(zhǔn)備網(wǎng)絡(luò)編程了。網(wǎng)絡(luò)編程的基本模型就是客戶機(jī)到服務(wù)器模型。簡(jiǎn)單的說,就是兩個(gè)進(jìn)程之間相互通訊,然后其中一個(gè)必須提供一個(gè)固定的位置,而另一個(gè)則只需要知道這個(gè)固定的位置,并去建立兩者之間的聯(lián)系。然后完成數(shù)據(jù)的通訊就可以了。這里提供固定位置的通常稱為服務(wù)器,而建立聯(lián)系的通常叫做客戶端。基于這個(gè)簡(jiǎn)單的模型,就可以進(jìn)入網(wǎng)絡(luò)編程. 對(duì)于java而言已經(jīng)簡(jiǎn)化了socket的編程接口。首先需要確定有關(guān)提供固定位置的服務(wù)方是如何建立的。java提供了serversocket來對(duì)其進(jìn)行支持。事實(shí)上當(dāng)創(chuàng)建該類的一個(gè)實(shí)力對(duì)象并提供一個(gè)端口資源,就建立了一個(gè)固定位置可以讓其他計(jì)算機(jī)來訪問。serversocket server=new serversocket(6789)。這里稍微要注意的是端口的分配必須是唯一的。因?yàn)槎丝谑菫榱宋ㄒ粯?biāo)識(shí)每臺(tái)計(jì)算機(jī)唯一服務(wù)的。另外端口號(hào)是從0~65535之間的,前1024個(gè)端口已經(jīng)被tcp/ip作為保留端口,因此,分配的端口只能是1024個(gè)之后的。有了固定位置,現(xiàn)在所需要的就是一根連接線了。該連接線由客戶方首先提出要求。因此java同樣提供了一個(gè)socket對(duì)象來對(duì)其進(jìn)行支持。只要客戶方創(chuàng)建一個(gè)socket的實(shí)例對(duì)象進(jìn)行支持就可以了。socket client=new socket((),5678)??蛻魴C(jī)必須知道有關(guān)服務(wù)器的ip地址。對(duì)于這一點(diǎn),java也提供了一個(gè)相關(guān)的類inetaddress。該對(duì)象的實(shí)例必須通過它的靜態(tài)方法來提供。它的靜態(tài)方法主要提供了得到本機(jī)ip和通過名字或ip直接得到inetaddress的方法。 i/o操作總是和網(wǎng)絡(luò)編程息息相關(guān)的。因?yàn)榈讓拥木W(wǎng)絡(luò)是繼續(xù)數(shù)據(jù)的。除非遠(yuǎn)程調(diào)用,處理問題的核心在執(zhí)行上。否則,數(shù)據(jù)的交互還是依賴于io操作的。所以。java的io操作也不復(fù)雜。它提供了針對(duì)于字節(jié)流和unicode的讀者和寫者,然后也提供了一個(gè)緩沖用于數(shù)據(jù)的讀寫。bufferedreader in=new bufferedreader(new inputstreamreader(()))。 printwriter out=new printwriter(())。上面兩句就是建立緩沖并把原始的字節(jié)流轉(zhuǎn)變?yōu)閡nicode可以操作。而原始的字節(jié)流來源于socket的兩個(gè)方法,getinputstream()和getoutputstream()方法,分別用來得到輸入和輸出。四、相關(guān)圖解及程序 一般的通信工具,都采用客戶端/服務(wù)器體系結(jié)構(gòu)??蛻舳?服務(wù)器的結(jié)構(gòu)包含:客戶端和服務(wù)端??蛻舳嗽L問和處理服務(wù)器上的數(shù)據(jù),服務(wù)器接收和處理客戶端的數(shù)據(jù)請(qǐng)求。這種模式的好處就是可以將一個(gè)系統(tǒng)分為兩個(gè)獨(dú)立的部分進(jìn)行開發(fā)設(shè)計(jì),便于軟件開發(fā)。而且也把一個(gè)軟件的功能交給兩個(gè)部分去完成,則更加有效的利用了系統(tǒng)資源。 本程序中也采用了簡(jiǎn)單的客戶端/服務(wù)器模式。由于本程序比較簡(jiǎn)單,僅演示客戶端與服務(wù)端進(jìn)行通信。由于該系統(tǒng)采用C/S模式,所以對(duì)功能模塊進(jìn)行劃分時(shí),就需要分服務(wù)器和客戶端兩部分進(jìn)行。由于服務(wù)器的主要功能是等待接收并反饋客戶端的信息,所以服務(wù)器需要信息輸出模塊和通信模塊。其中通信模塊包含信息發(fā)送模塊和信息接收模塊。而信息輸出模塊要做到當(dāng)信息發(fā)生改變時(shí)及時(shí)更新??蛻舳送瑯右残枰ㄐ拍K和信息輸出模塊,同時(shí)要互相通信,就要具備輸入輸出。具體模塊劃分見下圖: :服務(wù)器端: /** * 服務(wù)器端 * 簡(jiǎn)單的聊天界面 */
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1