最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP使用swoole編寫簡單的echo服務(wù)器示例

 更新時間:2020年03月11日 11:39:47   作者:懷素真  
這篇文章主要介紹了PHP使用swoole編寫簡單的echo服務(wù)器,結(jié)合實例形式分析了基于swoole的echo服務(wù)器客戶端與服務(wù)器端相關(guān)實現(xiàn)技巧及操作注意事項,需要的朋友可以參考下

本文實例講述了PHP使用swoole編寫簡單的echo服務(wù)器。分享給大家供大家參考,具體如下:

server.php代碼如下:

<?php
class EchoServer {
  protected $serv = null;
 
  public function __construct() {
    $this->serv = new swoole_server('0.0.0.0', 8888);
    //配置參數(shù)
    $this->serv->set(array(
      'worker_num' => 4,
      'daemonize' => 0,
    ));
    //注冊回調(diào)函數(shù)
    $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'));
    //啟動服務(wù)
    $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";
    //向客戶端發(fā)送信息
    $serv->send($fd, $data . "\n");
  }
}
 
$serv = new EchoServer();

client.php代碼如下:

<?php
class EchoClient {
  protected $client = null;
 
  public function __construct() {
    //注意這里需設(shè)置為異步,不然下面無法設(shè)置事件回調(diào)函數(shù)
    $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'));
    //連接服務(wù)端
    $this->client->connect('0.0.0.0', 8888);
  }
 
  public function connect($client) {
    echo "connect \n";
  }
 
  public function receive($client, $data) {
    echo "server send: {$data}";
 
    //向標準輸出寫入數(shù)據(jù)
    fwrite(STDOUT, "請輸入消息:");
    //獲取標準輸入數(shù)據(jù)
    $msg = trim(fgets(STDIN));
    //向服務(wù)端發(fā)送數(shù)據(jù)
    $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

運行結(jié)果如下:

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php socket用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》及《php程序設(shè)計算法總結(jié)

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

  • php設(shè)計模式 Template (模板模式)

    php設(shè)計模式 Template (模板模式)

    定義一個操作中的算法骨架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法的結(jié)構(gòu)可以定義該算法的某些特定步驟
    2011-06-06
  • PHP實現(xiàn)獲取url地址中頂級域名的方法示例

    PHP實現(xiàn)獲取url地址中頂級域名的方法示例

    這篇文章主要介紹了PHP實現(xiàn)獲取url地址中頂級域名的方法,結(jié)合實例形式分析了php使用parse_url()針對URL域名解析相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • PHPCMS的使用小結(jié)

    PHPCMS的使用小結(jié)

    前段時間仔細看了一下PHPCMS這套開源的系統(tǒng),實現(xiàn)了程序與模板分離,覺得寫得真的不錯。本人很少關(guān)注開源系統(tǒng),尤其是PHP的,覺得PHP本身就是一個寵大的函數(shù)庫,不過幾千個系統(tǒng)函數(shù)確實解決了不少問題。
    2010-09-09
  • PHP操作Redis數(shù)據(jù)庫常用方法示例

    PHP操作Redis數(shù)據(jù)庫常用方法示例

    這篇文章主要介紹了PHP操作Redis數(shù)據(jù)庫常用方法,結(jié)合實例形式總結(jié)分析了php針對redis數(shù)據(jù)庫連接、字符串、列表、hash字典、set集合等數(shù)據(jù)類型相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • php通用防注入程序 推薦

    php通用防注入程序 推薦

    今天做完了整個php項目,想來安全問題不少,開發(fā)程序的過程中無心過濾參數(shù)。所以注入少不了,才有了下面的防注入程序.
    2011-02-02
  • PHP與JavaScript針對Cookie的讀寫、交互操作方法詳解

    PHP與JavaScript針對Cookie的讀寫、交互操作方法詳解

    這篇文章主要介紹了PHP與JavaScript針對Cookie的讀寫、交互操作方法,結(jié)合實例形式分析了php與javascript設(shè)置cookie、php讀取php及js設(shè)置的cookie、js讀取php及js設(shè)置的cookie等相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • php 調(diào)試利器debug_print_backtrace()

    php 調(diào)試利器debug_print_backtrace()

    debug_print_backtrace() 是一個很低調(diào)的函數(shù),很少有人注意過它. 不過當我對著一個對象調(diào)用另一個對象再調(diào)用其它的對象和文件中的一個函數(shù)出錯時,它正在一邊笑呢
    2012-07-07
  • 一個簡單php擴展介紹與開發(fā)教程

    一個簡單php擴展介紹與開發(fā)教程

    這個擴展早就寫好了,只是一直沒有時間寫在blog上面,今天抽點時間,將它記錄下來,以后備用。
    2010-08-08
  • PHP聚合式迭代器接口IteratorAggregate用法分析

    PHP聚合式迭代器接口IteratorAggregate用法分析

    這篇文章主要介紹了PHP聚合式迭代器接口IteratorAggregate用法,結(jié)合實例形式分析了聚合式迭代器接口IteratorAggregate的概念、功能、定義及使用方法,需要的朋友可以參考下
    2017-12-12
  • php數(shù)組函數(shù)序列之a(chǎn)sort() - 對數(shù)組的元素值進行升序排序,保持索引關(guān)系

    php數(shù)組函數(shù)序列之a(chǎn)sort() - 對數(shù)組的元素值進行升序排序,保持索引關(guān)系

    asort() 函數(shù)對數(shù)組進行排序并保持索引關(guān)系。主要用于對那些單元順序很重要的結(jié)合數(shù)組進行排序??蛇x的第二個參數(shù)包含了附加的排序標識
    2011-11-11

最新評論

突泉县| 莱芜市| 岳普湖县| 年辖:市辖区| 赤城县| 屏南县| 南陵县| 田林县| 剑河县| 日土县| 和静县| 扎赉特旗| 驻马店市| 寿宁县| 科技| 彩票| 阜宁县| 子洲县| 博白县| 确山县| 惠安县| 沛县| 铜川市| 神农架林区| 银川市| 永年县| 嵊泗县| 灵石县| 内黄县| 呼伦贝尔市| 江源县| 广西| 广水市| 安溪县| 陈巴尔虎旗| 镇安县| 绵竹市| 开江县| 莱西市| 汕头市| 顺义区|