demoで実装されているシンプルな機能は、PHPエンドで書かれたstringを受け取り、それをそのまま出力エンドに返すというものです。コードは次のとおりです:
コードは次のとおりです:
import java.io.*; import java.net.*; public class Server { public static void main ( String [] args) throws IO Exception { System.out. print ln("Server started !\n"); ServerSocket server= new ServerSocket(5678); while (true){ Socket client=server.accept(); System.out.println("client coming!\n"); PrintWriter printer = new PrintWriter(client.getOutputStream()); BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); String m = reader. readLine (); System.out.println("get infomation " + m + "\n from " + client.getInetAddress().toString()); printer.println(m); printer. flush (); printer.close(); printer.close(); client.close(); System.out.println("client leaving!\n"); } } }
実行後、Java プログラムは 5678 ポートをリッスンし、メッセージを受信すると、受信したメッセージがそのままクライアントに返されます。 .
PHP コードは次のとおりです:
コードは次のとおりです:
<?php $socket = socket_create ( AF_INET, SOCK_STREAM, SOL_TCP ) or die ( 'could not create socket' ); $connect = socket_connect ( $socket, '127.0.0.1', 5678 ); //向服务端发送数据 socket_write ( $socket, 'Hello' . "\n" ); //接受服务端返回数据 $str = socket_read ( $socket, 1024, PHP_NORMAL_READ ); echo $str; //关闭 socket_close($socket);
PHP プログラムはローカル マシンの 5678 ポートに接続し、Hello と書き込み、返されたデータを読み取ります。返されたデータを次のように出力します。ブラウザ...
まず Java サーバーを実行し、次にブラウザでアクセスします。PHP ページでは、サーバーから返された Hello が表示されます
[関連する推奨事項]
JavaJavaインスタンス-ServerSocketとSocket通信インスタンス