




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第java實現(xiàn)在線聊天系統(tǒng)dis=newDataInputStream(s.getInputStream());
dos=newDataOutputStream(s.getOutputStream());
bConnected=true;
System.out.println("有一個新的客戶端程序在運行");
}catch(IOExceptione){
e.printStackTrace();
}
//一個客戶端連接成功以后,一直在執(zhí)行該while部分的代碼,其他客戶端無法連接
/**
*解決方法:1.異步解決方法:一直監(jiān)聽接收,其他在另外的地方執(zhí)行2.使用單獨的線程:線程:接受客戶端連接
*另外的單獨的線程:處理通訊
*/
}
publicvoidsendString(Stringstr){
try{
dos.writeUTF(str);
}catch(IOExceptione){
clients.remove(this);
System.out.println("對方退出了?。。∥覐腖ist中去掉了?。?!");
}
}
publicvoidrun(){
Clientclient=null;
//注意這部分的包圍關(guān)系
try{
while(bConnected){
Stringstring=dis.readUTF();
System.out.println(string);
for(inti=0;iclients.size();i++){
client=clients.get(i);
client.sendString(string);
}
}
}catch(EOFExceptione){
System.out.println("Clientclosed!");
}catch(IOExceptione){
e.printStackTrace();
System.exit(0);
}finally{
try{
if(dis!=null){
dis.close();
}
if(s!=null){
s.close();
}
}catch(IOExceptione){
e.printStackTrace();
}
}
}
}
}
客戶端代碼:
importjava.awt.BorderLayout;
importjava.awt.Frame;
importjava.awt.TextArea;
importjava.awt.TextField;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjava.io.DataInputStream;
importjava.io.DataOutputStream;
importjava.io.EOFException;
importjava.io.IOException;
import.BindException;
import.Socket;
import.SocketException;
import.UnknownHostException;
*可以和ChatServer版本三配套使用
*@authorAdministrator
publicclassChatClientEdition3extendsFrame{
TextFieldtfText=newTextField();
TextAreataContent=newTextArea();
Socketsocket=null;
DataOutputStreamdataOutputStream=null;
DataInputStreamdataInputStream=null;
privatebooleanbConnected=false;
publicstaticvoidmain(String[]args){
newChatClientEdition3().launchFrame();
}
//加載窗口
publicvoidlaunchFrame(){
setLocation(400,300);
this.setSize(300,300);
this.setTitle("在線聊天時--Quiana");
add(tfText,BorderLayout.SOUTH);
add(taContent,BorderLayout.NORTH);
pack();
//窗口關(guān)閉的時間監(jiān)聽
this.addWindowListener(newWindowAdapter(){
@Override
publicvoidwindowClosing(WindowEvente){
disconnect();
System.exit(0);
}
});
tfText.addActionListener(newTFListener());
this.setVisible(true);
connect();
newThread(newRecvThread()).start();
}
//文字處理的時間監(jiān)聽
privateclassTFListenerimplementsActionListener{
//敲擊回車時,文字的變化事件
@Override
publicvoidactionPerformed(ActionEventarg0){
Strings=tfText.getText().trim();//去掉兩端的空格
tfText.setText("");
try{
dataOutputStream.writeUTF(s);
dataOutputStream.flush();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
//連接到服務器
publicvoidconnect(){
try{
//連接到服務器
socket=newSocket("",8888);
bConnected=true;
dataOutputStream=newDataOutputStream(socket.getOutputStream());
dataInputStream=newDataInputStream(socket.getInputStream());
System.out.println("連接到服務器!??!");
}catch(BindExceptione){
e.printStackTrace();
}catch(UnknownHostExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
//斷開連接
publicvoiddisconnect(){
try{
dataOutputStream.close();
System.out.println("dataOutputStream成功關(guān)閉");
socket.close();
System.out.println("客戶端socket成功關(guān)閉");
}catch(IOExceptione){
e.printStackTrace();
}
}
privateclassRecvThreadimplementsRunnable{
publicvoidrun(){
try{
while(bConnected){
Stringstring=dataInputStream.readUTF();
if(taContent.getText().length()==0){
taContent.setText(string);
}else{
taContent.setText(taContent.getText()+"\n"+string);
}
}
}catch(SocketExceptione){
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 薪資分批發(fā)放協(xié)議合同
- 西裝服裝銷售合同協(xié)議
- 裁員賠償合同協(xié)議書范本
- 水滸傳各回試題及答案
- 藝術(shù)設(shè)計模擬試題及答案
- 企業(yè)調(diào)查問卷試題及答案
- 醫(yī)院護士面試試題及答案
- 廣告設(shè)計師如何強化專業(yè)能力 試題及答案
- 視覺傳達在紡織品設(shè)計中的角色試題及答案
- 中考課外閱讀試題及答案
- 電力營銷業(yè)務培訓課件
- MOOC 病理形態(tài)實驗學-東南大學 中國大學慕課答案
- 初中道德與法治學習方法指導課件
- 中醫(yī)養(yǎng)生館運營方案項目市場調(diào)研報告
- 《代謝工程》課件
- 《清平樂》 PPT課件模板
- 酒店西餐廳物品采購清單
- 2015山東省水利水電建筑工程預算定額((下冊))
- 施工升降機、門式起重機、架橋機、塔吊等 安全檢查要點
- 鋁型材有限公司有限公司粉末靜電噴涂線安全風險分級管控清單
- EBI系統(tǒng)操作手冊
評論
0/150
提交評論