




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
設(shè)為首頁收藏本站導(dǎo) 淘 群 家 日 招 簽 請(qǐng)輸入搜索內(nèi) 帖 搜 熱搜:poioutput購物j2me編程練習(xí)題繼承jquerygetset尚學(xué)堂java Java基礎(chǔ):三步學(xué)會(huì)JavaSocketJava基礎(chǔ):三步學(xué)會(huì)JavaSocket2012-8-920:16|發(fā)布者admin|查看2479|評(píng)論:第一步充分理解Socket 1.什么是ocket 所謂ocket通常也稱作"套接字",用于描述P地址和端口,是一個(gè)通信鏈的句柄。應(yīng)用程序通常通過"套接字"向網(wǎng)絡(luò)發(fā)出請(qǐng)求或者應(yīng)答網(wǎng)絡(luò)請(qǐng)求。 以J2SK1.3為...第一步充分理解1.什么是以J2SD13為例,Sockt和SvrSoct類庫位于vnt包中。SvSoct用于服務(wù)器端,Soct是建立網(wǎng)絡(luò)連接時(shí)使用的。在連接成功時(shí),應(yīng)用程序兩端都會(huì)產(chǎn)生一個(gè)Sockt實(shí)例,操作這個(gè)實(shí)例,完成所需的會(huì)話。對(duì)于一個(gè)網(wǎng)絡(luò)連接來說,套接字是 的,并沒有差別,不因?yàn)樵诜?wù)器端或在客戶端而產(chǎn)生不同級(jí)別。不管是Sockt還是SvSoct它們的工作都是通過Soctmp類及其子類完成的。重要的Socket.Accept方法用于產(chǎn)生"阻塞" 注意:其中g(shù)etInputStream和getOutputStream方法均會(huì)產(chǎn)生一個(gè)IOException,它必 獲,因?yàn)樗鼈兎?.如何開發(fā)一個(gè)服務(wù)器,使用ServerSocket指定的端口,端口可以隨意指定(由于1024以下的端口通常屬于保留端口,{建立服務(wù)器importjava.io.*;publicclass{privateServerSocketss;privateSocketsocket;privatePrintWriterout;public{{ss=newwhile{socket=out=newPrintWriter(socket.getOutputStream(),true);Stringline=in.readLine();out.println("youinputis:"+line);}}catch(IOException}publicstaticvoidmain(String[]{new}}{建立客戶端importjava.io.*;publicclass{Socketsocket;PrintWriterout;public{{socket=newSocket("xxx.xxx.xxx.xxx",in=newBufferedReader(newout=newBufferedReaderline=newBufferedReader(new}catch(IOException}publicstaticvoidmain(String[]{new}}這個(gè)客戶端連接到地址為xxxxxxxxxxxx的服務(wù)器,端口為10000,并從鍵盤輸入一行信息,發(fā)送到服務(wù)器,然后接受服務(wù)器的返回信息,最后結(jié)束會(huì)話。{實(shí)現(xiàn)消息共享importjava.io.*;publicclassServerextends{privatestaticfinalintSERVER_PORT=publicServer()throws{{whileSocketsocket=new}}catch(IOException{}}//---{privateSocket;privatePrintWriterout;{=in=newBufferedReader(newInputStreamReader(.getInputStream(),"GB2312"));out=newPrintWriter(.getOutputStream(),true); }publicvoid{{Stringline=while{Stringmsg=createMessage(line);line=}}catch(IOException}{}}publicstaticvoidmain(String[]args)throws{new}}這個(gè)程序10000端口,并將接入交給CtSvhd線程運(yùn)行。CtSvrhd線程接受輸入,并將輸入回應(yīng)客戶,直到客戶輸入"by",線程結(jié)束。我們可以在ctg方法中,對(duì)輸入進(jìn)行處理,并產(chǎn)生結(jié)果,然后把結(jié)果返回給客戶。第三步實(shí)現(xiàn)信息共享:在Soct上的實(shí)時(shí)交流{源碼importjava.io.*;import.*;importpublicclassServerextends{privatestaticArrayListUser_List=newArrayList();privatestaticArrayListThreader=newArrayList();privatestaticLinkedListMessage_Array=newLinkedList();privatestaticintThread_Counter=0;privatestaticbooleanisClear=true;protectedstaticfinalintSERVER_PORT=10000;{newBroadcast();//appendconnectionCalendarnow=Stringstr="["+now.getTime().toString()+"]Acceptedaconnection/015/012";byte[]tmp=str.getBytes();{while{Socketsocket=new}}{}}publicstaticvoidmain(String[]args)throws{new}//---classBroadcastextends{public{}publicvoid{while{if{Stringtmp=for(inti=0;i<Threader.size();{CreateServerThread=}isClear=Message_Array.size()>0?false:}}}}//---{privateSocket;privatePrintWriterout;privateStringUsername;{=s;in=newBufferedReader(newInputStreamReader(.getInputStream()));out=newPrintWriter(.getOutputStream(),true); etothischatroom---");out.println("Inputyournickname:");}{}publicvoid{{intflag=0;Stringline=while{if{line=in.readLine();}if(flag++=={Username=line;pushMessage("[<"+Username+"comeonin}{pushMessage("<"+Username+">"+}line=}}catch(IOException{{}catch(IOExceptionpushMessage("[<"+Username+"}}privateprivateString{Strings="-+-Onlinelist-+-for(inti=0;i<User_List.size();{s+="["+User_List.get(i)+}s+="-return}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)書課題進(jìn)度
- 前臺(tái)薪資合同范本模板
- 廈門 代建合同范本
- 公司頂層設(shè)計(jì)合同范本
- 傷殘賠償合同范本
- 品牌使用授權(quán)合同范本
- 保安與個(gè)人合同范本
- 廠房墻面翻新合同范例
- 樂器維修采購合同范例
- 合同范本合作期限
- 浙江省衢州市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- 中國膿毒癥及膿毒性休克急診治療指南
- 工序標(biāo)準(zhǔn)工時(shí)及產(chǎn)能計(jì)算表
- 品德家庭小賬本
- 人教版體育與健康四年級(jí)-《障礙跑》教學(xué)設(shè)計(jì)
- DB32-T 2860-2015散裝液體化學(xué)品槽車裝卸安全作業(yè)規(guī)范-(高清現(xiàn)行)
- 福利院裝修改造工程施工組織設(shè)計(jì)(225頁)
- 新聞?lì)愇捏w的翻譯(課堂PPT)
- 部編版六年級(jí)下冊(cè)語文課后詞語表(拼音)
- 現(xiàn)代寫作教程筆記
- 環(huán)境空氣中臭氧的測(cè)定
評(píng)論
0/150
提交評(píng)論