java - php 向 java 服务器发出请求

标签 java php port server

对不起。我是网络开发新手。 我有一个简单的 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&param2=value2&.....&paramN=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/

相关文章:

java - 无法在 java 中获取日期正则表达式 mm/dd/yyyy

javascript - 使用 jQuery 和 PHP 上传大图像

php - 将接口(interface)作为函数参数(PHP)传递?

java - java调用shell脚本的问题

java - 检查 android 设备是否支持 4K 视频?

php - 在 IF 条件下选择 DATEDIFF 时出错

Python套接字发送问题

javascript - Node.js 是应用程序未在指定端口上监听

c# - 如何在 C# 中为 webclient 设置端口?

java - ForkJoinPool 在 invokeAll/join 期间停止