对不起。我是网络开发新手。 我有一个简单的 java 服务器,它监听 localhost 上的端口 12111 。这里是那里:
public static void doit() throws IOException {
ServerSocket m_ServerSocket = new ServerSocket(12111);
int id = 0;
while (true) {
Socket clientSocket = m_ServerSocket.accept();
ClientServiceThread cliThread = new ClientServiceThread(clientSocket, id++);
cliThread.start();
}
}
现在我在服务器中有一个 php 脚本,其中有 java 。现在我想向这个端口发送请求。 当我在此端口上运行 java 服务器时,我输入 localhost:12111 并运行。现在无论发送还是发送请求。我必须在 php 中编写什么代码? 谢谢 。
最佳答案
使用 PHP CURL(您必须在 php.ini 中激活 php_curl.dll 并重新启动 Apache 服务器):
# WARNING : maybe you should provide your context in the URL : provide the same URL that you use in your browser for example
$url = "http://127.0.0.1:12111";
#provide your parameters like : ?param1=value1¶m2=value2&.....¶mN=valueN
$post_params_s = "" ;
$ch = curl_init ( $url ) ;
curl_setopt ( $ch, CURLOPT_POST , TRUE ) ;
curl_setopt ( $ch, CURLOPT_POSTFIELDS , $post_params_s ) ;
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, TRUE ) ; // -- put it to FALSE, write directly in main output
curl_exec ( $ch ) ;
curl_close ( $ch ) ;
使用Socket(您的Java服务器将通过Socket读取和发送数据)
$service_port = 12111;
$address = "127.0.0.1";
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
print "Java Server Is down, or firewall protected";
exit 1;
}
$result = socket_connect($socket, $address, $service_port);
if ($socket === false) {
print "fatal error, (details)" . socket_strerror(socket_last_error($socket));
exit 2;
}
# YOU SHOUL PROVIDE YOUR REQUEST DATA IN THIS VARIABLE
$in = "";
$out = '';
socket_write($socket, $in, strlen($in));
$out = socket_read($socket, 2048);
print "received data : " . $out;
socket_close($socket);
希望有帮助:)
关于java - php 向 java 服务器发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27398507/