Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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_Multithreading_Sockets_Inputstream_Outputstream - Fatal编程技术网

java-无法从服务器套接字获取响应

java-无法从服务器套接字获取响应,java,multithreading,sockets,inputstream,outputstream,Java,Multithreading,Sockets,Inputstream,Outputstream,我正在向服务器发送要验证的用户凭据,服务器应响应此用户凭据是否有效。服务器可以获取客户端的请求。但是,客户端无法得到任何响应 关于服务器端的所有代码: ClientHandler.java ... public ClientHandler(Socket socket) { try { client = socket; input = client.getInputStream(); output = cli

我正在向服务器发送要验证的用户凭据,服务器应响应此用户凭据是否有效。服务器可以获取客户端的请求。但是,客户端无法得到任何响应

关于服务器端的所有代码:

ClientHandler.java

...

public ClientHandler(Socket socket) {
        try {
            client = socket;
            input = client.getInputStream();
            output = client.getOutputStream();
            inputHandler = new ClientInputHandler(input);
            outputHandler = new ServerOutputHandler(output);
        } catch (IOException ex) {
            Logger.getLogger(ClientHandler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 @Override
    public void run() {

        inputHandler.start();
       outputHandler.start();
        String clientMessage = null;
        while(clientMessage == null) {
           clientMessage  = inputHandler.getClientMessage();
        }         
        System.out.println(clientMessage);
        User u = gson.fromJson(clientMessage, User.class);
        boolean successful = ClientAuthentication.validateCredentials(u);
        if(successful) {
            outputHandler.setServerMessage("1");
        }
        else {
            outputHandler.setServerMessage("0");
        } 


    }
...
...
@Override
    public void run() {
        try {
            while (true) {
                while ((clientMessage = bufferedReader.readLine()) != null) {
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(ClientInputHandler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
...
...
    @Override
    public void run() {
        while (true) {
            if(serverMessage != null) {
                 printWriter.println(serverMessage);
                 serverMessage = null;
            }          
        }
    }
...
clientiputhandler.java

...

public ClientHandler(Socket socket) {
        try {
            client = socket;
            input = client.getInputStream();
            output = client.getOutputStream();
            inputHandler = new ClientInputHandler(input);
            outputHandler = new ServerOutputHandler(output);
        } catch (IOException ex) {
            Logger.getLogger(ClientHandler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 @Override
    public void run() {

        inputHandler.start();
       outputHandler.start();
        String clientMessage = null;
        while(clientMessage == null) {
           clientMessage  = inputHandler.getClientMessage();
        }         
        System.out.println(clientMessage);
        User u = gson.fromJson(clientMessage, User.class);
        boolean successful = ClientAuthentication.validateCredentials(u);
        if(successful) {
            outputHandler.setServerMessage("1");
        }
        else {
            outputHandler.setServerMessage("0");
        } 


    }
...
...
@Override
    public void run() {
        try {
            while (true) {
                while ((clientMessage = bufferedReader.readLine()) != null) {
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(ClientInputHandler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
...
...
    @Override
    public void run() {
        while (true) {
            if(serverMessage != null) {
                 printWriter.println(serverMessage);
                 serverMessage = null;
            }          
        }
    }
...
ServerOutputHandler.java

...

public ClientHandler(Socket socket) {
        try {
            client = socket;
            input = client.getInputStream();
            output = client.getOutputStream();
            inputHandler = new ClientInputHandler(input);
            outputHandler = new ServerOutputHandler(output);
        } catch (IOException ex) {
            Logger.getLogger(ClientHandler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
 @Override
    public void run() {

        inputHandler.start();
       outputHandler.start();
        String clientMessage = null;
        while(clientMessage == null) {
           clientMessage  = inputHandler.getClientMessage();
        }         
        System.out.println(clientMessage);
        User u = gson.fromJson(clientMessage, User.class);
        boolean successful = ClientAuthentication.validateCredentials(u);
        if(successful) {
            outputHandler.setServerMessage("1");
        }
        else {
            outputHandler.setServerMessage("0");
        } 


    }
...
...
@Override
    public void run() {
        try {
            while (true) {
                while ((clientMessage = bufferedReader.readLine()) != null) {
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(ClientInputHandler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
...
...
    @Override
    public void run() {
        while (true) {
            if(serverMessage != null) {
                 printWriter.println(serverMessage);
                 serverMessage = null;
            }          
        }
    }
...