• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    PHP使用swoole编写简单的echo服务器示例

    本文实例讲述了PHP使用swoole编写简单的echo服务器。分享给大家供大家参考,具体如下:

    server.php代码如下:

    ?php
    class EchoServer {
      protected $serv = null;
     
      public function __construct() {
        $this->serv = new swoole_server('0.0.0.0', 8888);
        //配置参数
        $this->serv->set(array(
          'worker_num' => 4,
          'daemonize' => 0,
        ));
        //注册回调函数
        $this->serv->on('start', array($this, 'start'));
        $this->serv->on('connect', array($this, 'connect'));
        $this->serv->on('receive', array($this, 'receive'));
        $this->serv->on('close', array($this, 'close'));
        //启动服务
        $this->serv->start();
      }
     
      public function start($serv) {
        echo "start \n";
      }
     
      //有客户端连接时
      public function connect($serv, $fd) {
        echo "connect \n";
        $serv->send($fd, "hello \n");
      }
     
      public function close($serv, $fd) {
        echo "close \n";
      }
     
      public function receive($serv, $fd, $from_id, $data) {
        echo "get message {$fd} : {$data} \n";
        //向客户端发送信息
        $serv->send($fd, $data . "\n");
      }
    }
     
    $serv = new EchoServer();
    
    

    client.php代码如下:

    ?php
    class EchoClient {
      protected $client = null;
     
      public function __construct() {
        //注意这里需设置为异步,不然下面无法设置事件回调函数
        $this->client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);
     
        $this->client->on('connect', array($this, 'connect'));
        $this->client->on('receive', array($this, 'receive'));
        $this->client->on('close', array($this, 'close'));
        $this->client->on('error', array($this, 'error'));
        //连接服务端
        $this->client->connect('0.0.0.0', 8888);
      }
     
      public function connect($client) {
        echo "connect \n";
      }
     
      public function receive($client, $data) {
        echo "server send: {$data}";
     
        //向标准输出写入数据
        fwrite(STDOUT, "请输入消息:");
        //获取标准输入数据
        $msg = trim(fgets(STDIN));
        //向服务端发送数据
        $client->send($msg);
      }
     
      public function close($client) {
        echo "close \n";
      }
     
      public function error($client) {
        echo "error \n";
      }
    }
     
    $cli = new EchoClient();
    
    

    然后分别运行这两个脚本

    > /data/php56/bin/php server.php
    > /data/php56/bin/php client.php

    运行结果如下:

    更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP网络编程技巧总结》、《php socket用法总结》、《php面向对象程序设计入门教程》、《PHP数据结构与算法教程》及《php程序设计算法总结》

    希望本文所述对大家PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • PHP5.4起内置web服务器使用方法
    • phpstorm远程连接服务器并实时更新发布代码(thinkphp6.0.7)
    • PhpStorm连接服务器并实现自动上传功能
    • php实现的简单多进程服务器类完整示例
    • 在phpstudy集成环境下的nginx服务器下配置url重写
    • php服务器的系统详解
    • Windows服务器中PHP如何安装redis扩展
    • PHP如何将图片文件上传到另外一台服务器上
    • 微信小程序上传图片到php服务器的方法
    • PHP 内置WEB服务器的简单使用
    上一篇:centos7环境下swoole1.9的安装与HttpServer的使用方法分析
    下一篇:PHP swoole中使用task进程异步的处理耗时任务应用案例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    PHP使用swoole编写简单的echo服务器示例 PHP,使用,swoole,编写,简单,