Java服务器PHP客户端

问题描述:

我想实现一个java服务器和一个php客户端。每次在网站(php客户端)上进行点击时,都应该在服务器上执行操作。Java服务器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..."); 
} 

我的HTML网站看起来像:

<?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> 

我的问题是,什么最好的办法委派行动到服务器。一个小例子,我在我的java服务器上向控制台发布“Hello”的方法。现在我点击我的网站上的一个按钮,这个方法应该被执行。什么是最好的办法?

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

+0

纠正我,如果我错了,但PHP是服务器端。像HTML和JavaScript这样的东西是客户端。也许你想在一天结束时更改 – SuperDJ 2014-09-01 08:44:21

+0

,即使PHP在服务器上运行,但是对于Java服务器来说它被认为是CLIENT。 @Kevin此代码应该在页面加载(php页面)上连接,并将消息发送到Java服务器,那么这一点是否成功?如果是的话,我们可以去按钮点击的东西。 – Yazan 2014-09-01 08:53:00

+0

是的,在页面加载时会有一条消息发送到java服务器。我的想法是,每个按钮都会得到一条发送到服务器的特定消息。在服务器上我有一个开关盒,然后执行指定的方法。我不知道这是否是一个好方法? – Kevin 2014-09-01 09:39:48

PHP运行服务器端,所以你不能在客户端的网页上执行PHP代码...

+1

这不会为这个问题提供一个答案。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的[声誉](http://stackoverflow.com/help/whats-reputation),你会能够[评论任何帖子](http://stackoverflow.com/help/privileges/comment)。 – reporter 2014-09-01 09:32:51

+0

声望小于50(在发布时)我没有看到发表评论的机会。另外,我不明白PHP是如何阐明服务器端技术,而不是在客户端浏览器中执行的技术是“批判”。 – Xenonite 2015-03-13 10:53:32