ソケットを介したphpとjava間の通信の実装コード

高洛峰
リリース: 2016-12-22 09:54:45
オリジナル
1279 人が閲覧しました

デモで実装されているシンプルな機能は、PHP側で書き込んだ文字列を受け取り、そのまま出力側に返すというものです。コードは次のとおりです:

import java.io.*; 
import java.net.*; 

public class Server { 
public static void main(String[] args) throws IOException{ 
  System.out.println("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 ( &#39;could not create socket&#39; ); 
    $connect = socket_connect ( $socket, &#39;127.0.0.1&#39;, 5678 ); 
    //向服务端发送数据 
    socket_write ( $socket, &#39;Hello&#39; . "\n" ); 
    //接受服务端返回数据 
    $str = socket_read ( $socket, 1024, PHP_NORMAL_READ ); 

    echo $str; 
    //关闭 
    socket_close($socket);
ログイン後にコピー

PHP プログラムはローカル マシンのポート 5678 に接続し、Hello と書き込み、返されたデータを読み取ります...返されたデータをブラウザに出力します...
最初に Java サーバーを実行し、次にブラウザを使用して PHP にアクセスしますページにアクセスすると、サーバーからの戻りが表示されます。 こんにちは

ソケットを介して通信する PHP と Java の実装コードに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート