java - 无法实例化 ObjectInputStream

标签 java sockets objectinputstream

我试图在第24行的客户端中实例化一个ObjectInputStream,但它不会,我可以实例化一个ObjectOutputStream,但不能实例化Input。

    private class ClientThread implements Runnable{
    Socket s;
    ObjectInputStream inObject;
    ObjectOutputStream outObject;
    ServerSocket ss;
    Integer portNo;
    ClientThread(int portNo){
        try{
            this.portNo = portNo;
            ss = new ServerSocket(portNo);  
        }               
        catch(IOException e){
            System.out.println("CT : "+e.getMessage());
        }
    }

    public void run(){

        boolean hasOpponent = false;
        try{
            while(!hasOpponent){
                s = ss.accept();                                
                if(s != null){
                    inObject = new ObjectInputStream(s.getInputStream());   // line 24  
                    System.out.println("1");     
                    hasOpponent = true; 
                    game = new Game(name1, name2);                  
                }
            }
        }
        catch(Exception e){
            System.out.println("D "+ e.getMessage());
        }

最佳答案

你还没有说发生了什么,但我怀疑它被阻止了。

ObjectInputStream 会阻塞,直到它从 ObjectOutputStream 获取 header ,这可能需要另一端的 flush()

关于java - 无法实例化 ObjectInputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20315492/

相关文章:

java - 当我们使用 ITextRenderer 从 thymeleaf HTML 模板生成 PDF 时,如何设置 PDF 页面大小 A4?

java - weblogic.application.ModuleException : Context path '' is already in use by the module:/application:

c - 设置多个UDP套接字

java - 如何解决 StreamCorruptedException : invalid stream header in java?

android - 从 assets 文件夹加载大于 1M 的文件

java - PreferenceFragment 与 AppCompatActivity Android

java - 模拟无状态 session bean 会给出 javax.naming.NoInitialContextException

java - FTP协议(protocol)如何协商SSL连接?

security - 本地主机上的 TCP 连接是否安全?

java - ObjectOutputStream/ObjectInputStream的文件操作问题