日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架

發布時間:2024/7/5 php 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里瞅瞅Swoole框架,因為說的比較屌,官網里面文檔比較多https://www.swoole.com/

代碼地址(https://gitee.com/swoole/swoole)

這里先復制他的說明(https://wiki.swoole.com/)

Swoole底層內置了異步非阻塞、多線程的網絡IO服務器。PHP程序員僅需處理事件回調即可,無需關心底層。與Nginx/Tornado/Node.js等全異步的框架不同,Swoole既支持全異步,也支持同步。

除了異步IO的支持之外,Swoole為PHP多進程的模式設計了多個并發數據結構和IPC通信機制,可以大大簡化多進程并發編程的工作。其中包括了并發原子計數器,并發HashTable,Channel,Lock,進程間通信IPC等豐富的功能特性。

Swoole從2.0版本開始支持了

在已經安裝的php環境下面需要安裝一下?Swoole 擴展,在文檔中說明了各種系統的,我這里記錄一下自己這邊的操作,mac下用的brew 包管理:

然后看看我的 php 版本,選擇安裝不同的拓展,這邊安裝 brew install homebrew/php/php71-swoole,但我這里已經安裝好了,如果失敗,也通過源碼安裝brew reinstall php71-swoole --build-from-source

然后需要php.ini 中添加 extension = swoole.so,使用 php -m 看拓展有沒有生效,如果沒生效可以試試重啟 apache 服務器。

下面寫個demo 試試:

$serv = new swoole_server("127.0.0.1", 9501);

$serv->on('connect', function ($serv, $fd){

echo "Client:Connect.\n";

});

$serv->on('receive', function ($serv, $fd, $from_id, $data) {

$serv->send($fd, 'Swoole: '.$data);

$serv->close($fd);

});

$serv->on('close', function ($serv, $fd) {

echo "Client: Close.\n";

});

$serv->start();

客戶端:

$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC);

$client->on("connect", function($cli) {

$cli->send("hello world\n");

});

$client->on("receive", function($cli, $data = ""){

echo "Receive: ".$data.PHP_EOL;

});

$client->on("error", function($cli){

echo "connect fail\n";

});

$client->on("close", function($cli){

echo "connection close\n";

});

$client->connect('127.0.0.1', 9501, 0.5);

然后需要在php-cli環境下執行:

文檔里面有一張圖,可以幫助我們理解

參考:

https://www.gitbook.com/book/linkeddestiny/easy-swoole/details

https://wiki.swoole.com/wiki/page/1.html

未完待續!!!!

有什么討論的內容,可以加我微信公眾號:

總結

以上是生活随笔為你收集整理的PHP方向+go+rpc+swoole,瞅瞅 PHP+Swoole 作为网络通信框架的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。