html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

php与java通过socket通信的实现代码_php实例_脚本之家

[ ] 已经帮助:人解决问题

demo实现的简单功能是,接受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 ( '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

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助