zoukankan      html  css  js  c++  java
  • swoole 实现 unixSocket 通信

    服务端

    <?php
    $socket = new CoSocket(AF_UNIX,SOCK_STREAM,0);
    $socket->bind("/tmp/server.sock");
    $socket->listen(2048);
    
    go(function ()use($socket){
        while(true) {
            echo "Accept: 
    ";
            $client = $socket->accept();
            if ($client === false) {
                var_dump($socket->errCode);
            } else {
                SwooleEvent::add($client,function($client){
                    if(!$client->checkLiveness()){
                        $client->close();
                        SwooleEvent::del($client);
                        return;
                    }
                    echo $client->fd."****".$client->recv().PHP_EOL;
                    $client->send("world");
                });
            }
        }
    });

    客户端

    <?php
    $socket = new CoSocket(AF_UNIX,SOCK_STREAM,0);
    
    go(function () use ($socket) {
        $retval = $socket->connect("/tmp/server.sock");
        while ($retval)
        {
            $socket->send("hello");
            $data = $socket->recv();
            echo "server recv: ".$data.PHP_EOL;
            if (empty($data)) {
                $socket->close();
                break;
            }
            co::sleep(1.0);
        }
    });
  • 相关阅读:
    并发编程
    网络与WEB 编程
    包和模块
    元编程
    类和对象
    【算法题 14 LeetCode 147 链表的插入排序】
    剑指offer面试54题
    剑指offer 面试51题
    剑指offer 面试3题
    剑指offer 面试52题
  • 原文地址:https://www.cnblogs.com/itsuibi/p/13620437.html
Copyright © 2011-2022 走看看