Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java服务器PHP客户端_Java_Php_Java Server - Fatal编程技术网

Java服务器PHP客户端

Java服务器PHP客户端,java,php,java-server,Java,Php,Java Server,我想实现一个java服务器和一个php客户端。每次点击网站(php客户端)时,都应该在服务器上执行一个操作 实际上,我的服务器看起来像: public static void main(String args[]) { System.out.println("Signal Server is running."); try { socket = new ServerSocket(port); while (true) {

我想实现一个java服务器和一个php客户端。每次点击网站(php客户端)时,都应该在服务器上执行一个操作

实际上,我的服务器看起来像:

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();

            response.writeBytes(responseStr);
            response.flush();

            System.out.println("Running");
        }
    } catch (IOException e)  {
        System.out.println("Fail!: " + e.toString());
    }

    System.out.println("Closing...");
}
<?php
if (isset($_POST["Btn1"])){
    $address = "localhost";
    $port = 4343;
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    $message = 'blablabla';

        socket_connect($socket, $address, $port);
        socket_sendto($socket, $message, strlen($message), 0, $address, $port);
    };
?>

<html>
<head>
    <title>Test</title>
</head>
<body>

    <form id="form1" method="POST">
        <button type="submit" form="form1" id="Btn1" name="Btn1" value="Btn1" title="Btn1">
        Btn1</button>
    </form>
</body>
</html>
我的HTML站点看起来像:

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();

            response.writeBytes(responseStr);
            response.flush();

            System.out.println("Running");
        }
    } catch (IOException e)  {
        System.out.println("Fail!: " + e.toString());
    }

    System.out.println("Closing...");
}
<?php
if (isset($_POST["Btn1"])){
    $address = "localhost";
    $port = 4343;
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
    $message = 'blablabla';

        socket_connect($socket, $address, $port);
        socket_sendto($socket, $message, strlen($message), 0, $address, $port);
    };
?>

<html>
<head>
    <title>Test</title>
</head>
<body>

    <form id="form1" method="POST">
        <button type="submit" form="form1" id="Btn1" name="Btn1" value="Btn1" title="Btn1">
        Btn1</button>
    </form>
</body>
</html>

试验
Btn1
我的问题是,将操作委托给服务器的最佳方式是什么。举个小例子,我在java服务器上有一个方法,它向控制台发送“Hello”。现在我在我的网站上点击一个按钮,这个方法应该被执行。最好的方法是什么


我可以使用我的方法吗?还是有更好的方法?

PHP运行在服务器端,因此您无法在客户端网页上执行PHP代码…

如果我错了,请纠正我,但PHP是服务器端。像HTML和JavaScript这样的东西都是客户端的。也许你想在一天结束时改变这一点,甚至PHP也在服务器上运行,但是的,从Java服务器的角度来看,它被认为是一个客户端@Kevin这段代码应该在页面加载(php页面)时连接,并将消息发送到Java服务器,那么这一点成功了吗?如果是,我们可以点击按钮。是的,在页面加载上有一条消息发送到java服务器。我的想法是,每个按钮都会收到一条发送到服务器的特定消息。在服务器上,我有一个开关案例,然后执行指定的方法。我不知道这是否是一个好方法?好的,现在您可以在html中放置按钮并使用php,如果(isset($_POST['btn1']){}基于此,您可以运行套接字代码并发送适当的消息。@Yazan我用我所做的更新了我的问题。这并没有提供问题的答案。若要评论或要求作者澄清,请在他们的帖子下方留下评论-你可以随时在自己的帖子上发表评论,一旦你有足够的评论,你就可以发表评论。我的声誉低于50(发帖时),我看不到留下评论的机会。另外,我不认为澄清PHP是一种服务器端技术而不是一种在客户端浏览器中执行的技术是一种“批评”。