>  기사  >  php教程  >  소켓을 통한 PHP와 Java 간의 통신을 위한 구현 코드

소켓을 통한 PHP와 Java 간의 통신을 위한 구현 코드

高洛峰
高洛峰원래의
2016-12-22 09:54:451272검색

데모에서 구현한 간단한 함수는 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 페이지에 액세스하면 서버에서 반환되는 Hello

를 볼 수 있으며 PHP 및 Java 구현 코드에 대한 자세한 관련 기사를 볼 수 있습니다. 소켓을 통해 통신하려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.