Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.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_Sockets_Server - Fatal编程技术网

Java 服务器未接收来自客户端套接字的输出

Java 服务器未接收来自客户端套接字的输出,java,sockets,server,Java,Sockets,Server,我试图测试我的服务器以接收来自客户机的输出,在Linux终端上工作,但是当我尝试传递另一个代码时,我总是接收空值 这是我用来接收输入的方法: public String receiveString() throws IOException{ BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); PrintWriter out = new PrintWriter

我试图测试我的服务器以接收来自客户机的输出,在Linux终端上工作,但是当我尝试传递另一个代码时,我总是接收空值

这是我用来接收输入的方法:

public String receiveString() throws IOException{
    BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
    PrintWriter out = new PrintWriter (new OutputStreamWriter(client.getOutputStream()));
    String input = null;
    try{
        input = in.readLine();
        System.out.println("Inside:"+input);
        return input;
    }catch(NullPointerException e) {
        out.println("4");
        out.flush(); 
        client.close();
    } finally {

    }
    return input;
}
当我通过Terminal传递输出时,工作正常,但当我通过上面的代码传递时,不工作,receiveString总是显示Null

public static void main(String[] args ) throws IOException {
    Socket client = null;
    try {
        client = new Socket("localhost", 12009);
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    BufferedReader in = new BufferedReader (new InputStreamReader(client.getInputStream()));
    PrintWriter out = new PrintWriter (new OutputStreamWriter(client.getOutputStream()));
    out.println("Test");  
    out.flush();
    client.close();
}

所有连接都工作正常,只是这部分代码有问题…

终端上的工作是什么意思?这是telnet连接吗?是否使用client.getInputStream两次进行读取?在你调用receiveString之前一次?而不是重复使用第一个读卡器,而不是创建一个新的读卡器。