?? recvworker.java
字號:
/* * 接受消息線程 */package chat.client;import chat.common.LoginMessage;import chat.common.LogoutMessage;import chat.common.Message;import chat.common.TextMessage;import chat.common.UpdateUserMessage;import chat.common.UserListMessage;import java.io.IOException;import java.util.logging.Level;import java.util.logging.Logger;/** * * @author Administrator */public class RecvWorker implements Runnable{ /** * 是否終止接收服務器消息 */ private boolean stop = false; public boolean isStop() { return stop; } public void setStop(boolean stop) { this.stop = stop; } private ClientModel model; public RecvWorker(ClientModel model){ this.model = model; } public void run() { DefaultClientModel dcm = (DefaultClientModel)model; while(!stop){ try { Message message = (Message)dcm.ois.readObject(); switch(message.getType()){ case Message.TYPE_LOGIN: //接收到服務器的登錄反饋 LoginMessage loginMessage = (LoginMessage)message; model.doLogin(loginMessage); break; case Message.TYPE_LOGOUT: //接收到服務器的登出反饋 model.doLogout((LogoutMessage)message); break; case Message.TYPE_TEXT: //接收到文本消息 model.doTextMessage((TextMessage)message); break; case Message.TYPE_UPDATE_USER: //用戶更新消息 model.doUpdateUser((UpdateUserMessage)message); break; case Message.TYPE_USERLIST: //用戶列表更新消息 model.doUserList((UserListMessage)message); break; } } catch (IOException ex) { Logger.getLogger(RecvWorker.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(RecvWorker.class.getName()).log(Level.SEVERE, null, ex); } } } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -