java:ObjectInputStream提供NullPointerException

java:ObjectInputStream提供NullPointerException,java,sockets,object,tcp,nullpointerexception,Java,Sockets,Object,Tcp,Nullpointerexception,服务器端 ObjectOutputStream objectOutput = null; objectOutput = new ObjectOutputStream(serverSocket.getOutputStream()); 客户端 ObjectInputStream objectInput = null; objectInput= new ObjectInputStream(clientSocket.getInputStream());//here is the problem 服务

服务器端

ObjectOutputStream objectOutput = null;
objectOutput = new ObjectOutputStream(serverSocket.getOutputStream());
客户端

ObjectInputStream objectInput = null;
objectInput= new ObjectInputStream(clientSocket.getInputStream());//here is the problem
服务器工作正常。但是在客户端,
objectInput=newobjectinputstream(clientSocket.getInputStream())是,我在线程“main”java.lang.NullPointerException中得到
异常
怎么了?

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


您没有发布太多的代码,但这是我的默认猜测(在java.net.Socket上做了很多工作)clientSocket实际连接了吗?@ControlAltDel是的,首先我建立连接,然后根据文档创建流,nullpointerexception意味着clientSocket.getInputStream()是空的:您能告诉我们您的客户端代码,您在哪里建立了与访问流相关的套接字连接吗?也请张贴NPE的完整StackTrace。