这是我的服务器类,我想发送简单的类'heee',但每次连接到客户端时,我都会从try catch中获得'用户未被发送'。我做错了什么?
public class heee{
String me = "hehehe";
}
public static void main(String args[]) throws Exception {
ServerSocket ssock = new ServerSocket(2222);
System.out.println("Listening");
while (true)
{
Socket sock = ssock.accept();
System.out.println("Connected");
new Thread(new MultiThreadedServer(sock)).start();
}
}
@Override
public void run() {
try
{
out = new ObjectOutputStream(csocket.getOutputStream());
heee hope = new heee();
out.writeObject(hope);
System.out.println("debug line");
}catch(Exception ex)
{
System.out.println("users was not sent");
}
这里我想读一下线程中的对象。
public class ChatServer implements Runnable {
Socket clientSocket = null;
ObjectInputStream in = null;
@Override
public void run()
{
try
{
clientSocket = new Socket ("localhost", 2222);
in = new ObjectInputStream(clientSocket.getInputStream());
heee nope = (heee) in.readObject();
System.out.print(nope.me);
} catch(Exception Ex)
{
}
}
public static void main(String args[]) throws Exception {
new Thread(new ChatServer()).start();
}
public class heee{
String me;
}
}
答案 0 :(得分:0)
如果要查看错误的真正原因,则需要打印堆栈跟踪。你抓住了NotSerializableException
。您要写入或读取的每个对象都必须是可序列化的。将implement Serializable
添加到heee
签名。