大家帮忙看下怪异的出错(关于对象流的用法)
先看下线程的代码:
public void run() {
Public.map.put(this.getId() + "", this);
Object obj;
QQPack pack;
MessageType packType;
while (true) {
try {
oos = new ObjectOutputStream(socket.getOutputStream());
ois = new ObjectInputStream(socket.getInputStream());
obj = ois.readObject();
if (obj instanceof QQPack) {
pack = (QQPack) obj;
packType = pack.getType();
if (packType == MessageType.Login) {
User user = pack.getFrom();
ImDao dao = new ImDao();
User user2 = dao.checkUser(user.getId(), user
.getPassword());
if (user2.getId().equals(user.getId())) {
pack = new QQPack();
pack.setType(MessageType.Login_Success);
pack.setFrom(user2);
sendMessage(pack);
Public.map.put(user.getId(), this); // 验证成功后把id和对应的线程保存到map中,
} else {
pack = new QQPack();
pack.setType(MessageType.Login_Fail);
sendMessage(pack);
}
} else if (packType == MessageType.Logout) {
}