Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中使用套接字的对象传输_Java_Sockets_Real Time - Fatal编程技术网

java中使用套接字的对象传输

java中使用套接字的对象传输,java,sockets,real-time,Java,Sockets,Real Time,当我尝试在服务器上使用out.writeobject(lou)时,我得到了一个NullPointerException。客户端抛出一个NotSerializableException。我不知道为什么,因为我正在它上面初始化它。你想打开一个连接,并在整个游戏中保持它打开。这就是我试图做的。我发布的代码是我认为我必须在每个循环中保持连接打开的代码。但是它扔了一些errors@user2054739-我应该猜出哪些错误吗?提示,当试图寻求帮助时,不要从你认为答案是什么开始,从实际问题开始,并包含所有相

当我尝试在服务器上使用
out.writeobject(lou)
时,我得到了一个NullPointerException。客户端抛出一个
NotSerializableException
。我不知道为什么,因为我正在它上面初始化它。

你想打开一个连接,并在整个游戏中保持它打开。

这就是我试图做的。我发布的代码是我认为我必须在每个循环中保持连接打开的代码。但是它扔了一些errors@user2054739-我应该猜出哪些错误吗?提示,当试图寻求帮助时,不要从你认为答案是什么开始,从实际问题开始,并包含所有相关细节。@user2054739-根据你包含的一小段代码进行粗略猜测,.reset()中的
导致了问题。我建议您在该方法上阅读javadoc,因为它不做您认为它正在做的事情。@user2054739-此外,不要接受异常,它会使您的程序处于中断状态。请更正术语。”“实时”在计算中有着特定的含义,但事实并非如此。你是说“真实世界”吗?还是“及时”?
    if(server&&network){
    try{
       serverSocket = new ServerSocket(12345);
       socket = serverSocket.accept();
       System.out.println("Connected to " + socket.getInetAddress().getHostName());
       out = new ObjectOutputStream(socket.getOutputStream());
       in = new ObjectInputStream(socket.getInputStream());
       out.writeObject(lou);
       out.flush();
       out.reset();
       out.writeObject(dud);
       out.flush();
       out.reset();
       me = new Gen(lou, dud);
       //socket.close();
       //serverSocket.close();
    }catch(IOException ioException){
        ioException.printStackTrace();
    }
    }else if(network&&!server){
        try{
             //Socket socket = new Socket("10.69.18.244", 12345);
             socket = new Socket("192.168.1.100", 12345);
             //Socket socket = new Socket("10.69.18.162", 12345);
             out = new ObjectOutputStream(socket.getOutputStream());
             in = new ObjectInputStream(socket.getInputStream());
             lou = (ArrayList)in.readObject();
             //in.reset();
             dud = (ArrayList)in.readObject();
             //in.reset();
             me = new Gen(dud, lou);
             //socket.close();
        }catch(Exception ioException){
            ioException.printStackTrace();
        }
    }