【发布时间】:2015-03-23 17:36:47
【问题描述】:
我在 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);
【问题讨论】:
标签: java php android sockets tcp