下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Java UDP簡單的聊天軟件用UDP進行通訊,不分客戶端還是服務器,因此一個文件即可搞定。并顯示在文件中主線程用于從控制臺接受輸入,并新開一個線程,用于接受發(fā)送來的消息,控制臺上。第一個客戶端的啟動如下:D:XubuntuMJdpTestXsrcjaua SendClient 127,0-0-1 12345 54321第二個類似,將發(fā)送端口和接收端口反一下就可以了 之后就可以進行通訊了。sendClient.javaimport java.io.BufferedReader;import java.i o.I OExcepti on;import java.i o.ln putStreamR
2、eader;import java .n et.*;public class Sen dClie nt impleme nts Runn ableDatagramSocket sen dSocket, receiveSocket;DatagramPacket sen dPack,receivePack; private In etAddress sen dIP;private int sen dPort,receivePort;private byte in Buf,outBuf;public static final int BUFSIZE = 1024;II無參構(gòu)造函數(shù),在此函數(shù)中給出了I
3、P,端口的默認值public SendClient() super();try this.se ndIP = In etAddress.getByName(127.0.0.1); catch (UnknownH ostExcepti on e) II TODO Auto-ge nerated catch blocke.pri ntStackTrace(); this.sendPort = 12345; this.receivePort = 54321; this.inBuf = new byteBUFSIZE;/ 構(gòu)造函數(shù)public SendClient(String sendIP, int
4、 sendPort, int receivePort) super();try this.sendIP = InetAddress.getByName(sendIP); catch (UnknownHostException e) / TODO Auto-generated catch block e.printStackTrace(); this.sendPort = sendPort; this.receivePort = receivePort; this.inBuf = new byteBUFSIZE;/ 創(chuàng)建的新的線程用于不停的接收信息,如果有新的信息來到,則顯示在控制臺上 Over
5、ridepublic void run() String msg ;/ TODO Auto-generated method stubtry this.receiveSocket = new DatagramSocket(receivePort);this.receivePack = new DatagramPacket(inBuf,BUFSIZE); catch (SocketException e) / TODO Auto-generated catch blocke.printStackTrace();while(true)try receiveSocket.receive(receiv
6、ePack); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace();msg = new String(receivePack.getData(),0,receivePack.getLength();System.out.println(nreceive message:+msg);newpublic void sendMessage(String msg) this.outBuf = msg.getBytes(); this.sendPack = DatagramPacket(this.outB
7、uf,this.outBuf.length,this.sendIP ,this.sendPort); try this.sendSocket = new DatagramSocket(); sendSocket.send(sendPack); catch (SocketException e) / TODO Auto-generated catch block e.printStackTrace(); catch(IOException e) e.printStackTrace();/ 從控制臺接受三個參數(shù)/ 第一個參數(shù)為需要連接的主機的 IP/ 第二個參數(shù)為向主機發(fā)送的端口號/ 第三個參數(shù)為
8、本機接受信息的端口號 public static void main(String args) if(args.length=0) return ;String ip = args0;int sendPort = Integer.parseInt(args1);int receivePort = Integer.parseInt(args2);/ 創(chuàng)建通訊類,并啟動線程/ 創(chuàng)建的新的線程用于不停的接收信息,如果有新的信息來到,則顯示在控制臺 上/ 主線程用于接收輸入 SendClient sc = new SendClient(ip,sendPort,receivePort); (new Thread(sc).start();BufferedReader br=new BufferedReader(new InputStreamReader(System.in); System.out.println(press the enter to send message:);while(true) /System.out.print(write in:); String msg=; try msg = br.readLine();if(msg.equ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企事業(yè)單位電氣安全協(xié)議
- 礦山環(huán)保音樂項目施工合同樣本
- 醫(yī)師授權(quán)與醫(yī)療安全
- 深圳影視制作公司租賃合同模板
- 鄉(xiāng)村物業(yè)管理員勞動合同模板
- 湖南省娛樂經(jīng)紀人管理政策
- 活動帳篷租賃合同
- 水上樂園管理規(guī)章
- 別墅戶外排球場施工協(xié)議
- 產(chǎn)品發(fā)布包車租賃合同
- SPC培訓資料_2
- 壓力表使用警示標識
- 小學英語課堂教學策略與方法探討
- ADS創(chuàng)建自己的元件庫
- MATLAB仿真三相橋式整流電路(詳細完美)
- 2019年重慶普通高中會考通用技術(shù)真題及答案
- DB44 T 552-2008 林業(yè)生態(tài) 術(shù)語
- 天秤座小奏鳴曲,Libra Sonatine;迪安斯,Roland Dyens(古典吉他譜)
- 光纜施工規(guī)范及要求
- 三國志11全人物信息(五維、特技、生卒年等)
- 第六章 氣體射流
評論
0/150
提交評論