婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP使用swoole編寫簡單的echo服務器示例

PHP使用swoole編寫簡單的echo服務器示例

熱門標簽:南寧電話外呼系統線路 南京3D地圖標注 邢臺400電話辦理 咸陽電銷 正規電銷機器人系統 重慶外呼電銷系統多少錢 濟源百應電銷機器人聯系方式 辦理400電話哪家好點 嘟嘟云外呼系統

本文實例講述了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服務器的簡單使用

標簽:通遼 黃山 武漢 隴南 平頂山 唐山 南通 河南

巨人網絡通訊聲明:本文標題《PHP使用swoole編寫簡單的echo服務器示例》,本文關鍵詞  PHP,使用,swoole,編寫,簡單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP使用swoole編寫簡單的echo服務器示例》相關的同類信息!
  • 本頁收集關于PHP使用swoole編寫簡單的echo服務器示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 遵化市| 中江县| 卓资县| 文登市| 乐昌市| 宣化县| 环江| 太白县| 井陉县| 迁西县| 六安市| 桦甸市| 贵德县| 杭锦后旗| 丹寨县| 涟水县| 沾化县| 金门县| 大渡口区| 高尔夫| 修武县| 邯郸县| 玉门市| 兰考县| 准格尔旗| 石棉县| 厦门市| 苏尼特左旗| 洛隆县| 泸溪县| 资溪县| 临沂市| 洛浦县| 财经| 托里县| 尼勒克县| 衡阳县| 泌阳县| 京山县| 静宁县| 天镇县|