Tôi cần gửi thông tin từ máy khách php đến máy chủ java, nhưng không có thông tin nào được nhận trên máy chủ mặc dù một bản in được thực thi thành công trên máy chủ, văn bản từ máy khách không thể nhận được phía máy chủ. Dưới đây là các mã:giao tiếp máy chủ khách hàng đơn giản giữa java và php
Java Server:
import java.io.BufferedReader;
import java.net.*;
import java.io.*;
public class javaphp2 {
private static ServerSocket socket;
private static Socket connection;
private static String command = new String();
private static String responseStr = new String();
private static int port = 4309;
public static void main(String args[]) {
System.out.println("Signal Server is running.");
try {
socket = new ServerSocket(port);
while (true) {
connection = socket.accept();
InputStreamReader inputStream = new InputStreamReader(connection.getInputStream());
DataOutputStream response = new DataOutputStream(connection.getOutputStream());
BufferedReader input = new BufferedReader(inputStream);
command = input.readLine();
//System.out.println("The input is" + command);
response.writeBytes(responseStr);
response.flush();
//response.close();
System.out.println("Running");
}
} catch (IOException e) {
System.out.println("Fail!: " + e.toString());
}
System.out.println("Closing...");
}
}
PHP Chủ đầu tư:
#!/usr/local/bin/php -q
<?php
$address = '132.119.90.165';
$port = 4309;
$socket = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
socket_connect($socket, $address, $port);
$message = 'Apple';
$len = strlen($message);
$status = socket_sendto($socket, $message, $len, 0, $address, $port);
if($status !== FALSE)
{
$message = '';
$next = '';
while ($next = socket_read($socket, 4096))
{
$message .= $next;
}
echo $message;
}
else
{
echo "Failed";
}
socket_close($socket);
?>
Cảm ơn bạn Till, nhưng cùng một vấn đề ... – highlander141