• php socket 进程间通信


    参考: https://blog.csdn.net/qq_43187460/article/details/109557620

     

     

    什么叫协议?? 上面的这个演示的就是协议!! 双方约定了相互交流的口令!!(你发了"close"字符串过来,就代表想中断通话,故服务端就关闭连接!!)

    --------------------------------

    a.php

    <?php
    set_time_limit(0);
    $host = '0.0.0.0';
    $port = 10086;
    //创建socket
    $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("创建连接失败");
    //绑定socket 到指定地址和端口
    $result = socket_bind($socket, $host, $port) or die("绑定失败");
    //监听连接
    $result = socket_listen($socket, 3) or die("监听失败");
    //接收连接请求并调用另一个子Socket处理客户端--服务器间的信息
    $spawn = socket_accept($socket) or die("accept not");
    while (1){
        //读取客户端输入
        $input = socket_read($spawn, 1024) or die("can not read");
        $input = trim($input);
        if($input == 'close'){
            $output = "关闭了连接" . $input . "
    ";
            socket_write($spawn, $output, strlen($output)) or die("write die");
            socket_close($spawn);
            socket_close($socket);
            die('客户端关闭了');
        }
        $output = "发送成功:" . $input . "
    ";
        socket_write($spawn, $output, strlen($output)) or die("write die");
        var_dump($input);
    }
    

      一个终端运行 a.php

    另一个终端 telnet 10086 这个端口,并发送信息

  • 相关阅读:
    第二次结对作业
    第一次结对作业
    第二次个人编程
    第一次编程作业
    第一篇随笔
    个人总结
    第三次个人作业
    第二次结对作业
    第一次结对作业
    第二次编程
  • 原文地址:https://www.cnblogs.com/oxspirt/p/14190652.html
Copyright © 2020-2023  润新知