首页 > 解决方案 > java: ObjectInputStream 给出 NullPointerException

问题描述

服务器端

ObjectOutputStream objectOutput = null;
objectOutput = new ObjectOutputStream(serverSocket.getOutputStream());

客户端

ObjectInputStream objectInput = null;
objectInput= new ObjectInputStream(clientSocket.getInputStream());//here is the problem

服务器运行良好。但是在客户端那里objectInput= new ObjectInputStream(clientSocket.getInputStream());,我得到Exception in thread "main" java.lang.NullPointerException 什么是错的?

标签: javasocketsobjecttcpnullpointerexception

解决方案


我的猜测是,在添加 ObjectInputStream 之前,您的套接字或输入流已关闭。如果在服务器端建立连接后,套接字没有存储在可以在您创建它的方法之外检索到的某个位置,则很容易发生这种情况。在这种情况下,套接字将超出范围,对象将被释放,流将关闭。

您没有发布太多代码,但这将是我的默认猜测(与 java.net.Socket 一起工作了很多)关于它发生了什么


推荐阅读