Не удается создать экземпляр ObjectInputStream

Я пытаюсь создать экземпляр ObjectInputStream в клиенте в строке 24, но это не так, я могу создать экземпляр 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());
        }

1 ответ

Решение

Вы не сказали, что происходит, но я подозреваю, что это блокирует.

ObjectInputStream блокируется, пока не получит заголовок от ObjectOutputStream, который может потребовать flush() с другого конца.

Другие вопросы по тегам