invalid type code: AC异常

今天在练习网络通信发现了这个错误 。。我是很迷茫啊

后来就是随意修改了一下  竟然不报错了、还是学习太少

错误代码(部分)

public void run() {
		ObjectInputStream ois = null;
		ObjectOutputStream oos = null;
		try {
			ois = new ObjectInputStream(socket.getInputStream());
			oos=new ObjectOutputStream(socket.getOutputStream());
			CommandTranser msg = (CommandTranser) ois.readObject();
			msg = execute(msg);
			//如果登录成功
			if(msg.isFlag()){
				//如果要发送的用户在线 发送信息
				if(SocketList.getSocket(msg.getReceiver())!=null){
					oos = new ObjectOutputStream(SocketList.getSocket(msg.getReceiver())
							.getOutputStream());
				}else{
					oos=new ObjectOutputStream(socket.getOutputStream());
					msg.setResult("当前用户不在线");
				}
			}else{
			//	oos=new ObjectOutputStream(socket.getOutputStream());
			}
			oos.writeObject(msg);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

报错显示的位置在oos.wirteObject(msg);

改了好久  想着写细点吧  就又添加了else语句  

oos=new ObjectOutputStream(socket.getOutputStream());

写在else语句里面,竟然过了、

不清楚为什么oos不能多次实例化 不会覆盖吗?

或许是socket机制的问题吧。

马克一下~

你可能感兴趣的:(【java】,java)