繁体   English   中英

客户端套接字挂起响应

[英]Client socket hangs on response

我在Java中有简单的TCP服务器。

// while(true), try catch etc.
serverSocket = new ServerSocket(4444); // Server socket

clientSocket = serverSocket.accept();
inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader);
message = bufferedReader.readLine();

OutputStream os = clientSocket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
bw.write("test");
bw.flush();


inputStreamReader.close();
clientSocket.close();
bufferedReader.close();
os.close();
osw.close();

并且我使用PHP构建了客户端,但是当我使用Java构建相同的简单客户端时,它却无法获得响应。 如何解决这个问题呢?

PHP客户端:

$socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
socket_connect($socket, $address, $port);

$message = 'test';


$status = socket_sendto($socket, $message, strlen($message), MSG_EOF, $address, $port);
if($status !== FALSE) {
    $message = '';
    $next = '';

    while ($next = socket_read($socket, 1)) {
        $message .= $next;
    }

    var_dump($message);
} else {
    echo "Failed";
}

socket_close($socket);

我找到了解决这个问题的方法。

当我发送消息时,我必须在字符串末尾执行“ \\ n”。 我不知道为什么 也许有人知道为什么吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM