📄 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 + -