成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

初識 swoole【上】

scola666 / 2898人閱讀

摘要:前言都是為了生存有收獲的話請加顆小星星,沒有收獲的話可以反對沒有幫助舉報三連代碼倉庫初始上一什么是面向生產環(huán)境的異步網絡通信引擎使開發(fā)人員可以編寫高性能的異步并發(fā),服務。

前言:都是為了生存

有收獲的話請加顆小星星,沒有收獲的話可以 反對 沒有幫助 舉報三連

代碼倉庫

初始swoole【上】

一、什么是swoole

Swoole:面向生產環(huán)境的 PHP 異步網絡通信引擎

使 PHP 開發(fā)人員可以編寫高性能的異步并發(fā) TCP、UDP、Unix Socket、HTTP,WebSocket 服務。Swoole 可以廣泛應用于互聯(lián)網、移動通信、企業(yè)軟件、云計算、網絡游戲、物聯(lián)網(IOT)、車聯(lián)網、智能家居等領域。 使用 PHP + Swoole 作為網絡通信框架,可以使企業(yè) IT 研發(fā)團隊的效率大大提升,更加專注于開發(fā)創(chuàng)新產品。

二、安裝 1、pecl
pecl install swoole
2、源碼安裝
curl -O https://pecl.php.net/get/swoole-4.2.5.tgz
tar -zxvf swoole-4.2.5.tgz
cd swoole-4.2.5.tgz
phpize
./configure
make && make install
# 加入到php.ini中
php --ini
extension=swoole.so
三、基本入門

注意:示例代碼都引入了"symfony/var-dumper"包進行美化打印

Swoole的絕大部分功能只能用于cli命令行環(huán)境

1、TCP服務器
on("connect", function (swoole_server $server, $fd) {
    dump("{$fd}連接");
    $server->send($fd, "歡迎{$fd}大山驢
");
});
// receive 回調
$server->on("receive", function (swoole_server $server, $fd, $from_id, $data) {
    $server->send($fd, "服務端回復:{$data}
");
    foreach ($server->connections as $connection) {
        if ($connection != $fd){
            $server->send($connection, "{$fd}說{$data}");
        }
    }

});
// close
$server->on("close", function (swoole_server $server, $fd) {
    dump("{$fd}關閉");
    foreach ($server->connections as $connection) {
        if ($connection != $fd){
            $server->send($connection, "{$fd}斷開連接");
        }
    }
});
// start
$server->start();
php tcp_server.php

telnet 127.0.0.1 9501
2、UDP服務器
// new
on("Packet", function (swoole_server $server, $data, $clientInfo) {
    $server->sendto($clientInfo["address"], $clientInfo["port"], "服務器回復: {$data}");
    dump($clientInfo);
});
// start
$server->start();
php udp_server.php

netcat -u 127.0.0.1 9502
3、Web服務器
on("request", function (SwooleHttpRequest $request, SwooleHttpResponse $response) {
    dump($request->get, $request->post);
    $response->header("Content-Type", "text/html; charset=utf-8");
    $response->end("

Hello Swoole. #" . mt_rand(1000, 9999) . "

"); }); // start $http->start();
php web_server.php

curl -XGET "127.0.0.1:9503?id=1&name=aa&age=26"
curl -XPOST "127.0.0.1:9503?id=1&name=aa&age=26" -d "love=like"
4、WebSocket服務器

服務端

on("open", function (SwooleWebSocketServer $ws, SwooleHttpRequest $request) {
    dump($request->fd, $request->get, $request->server);
    $ws->push($request->fd, "你是大山驢
");
});
// message
$ws->on("message", function (SwooleWebSocketServer $ws, $frame) {
    dump("消息: {$frame->data}
");
    $ws->push($frame->fd, "服務端回復: {$frame->data}
");
});
// close
$ws->on("close", function (SwooleWebSocketServer $ws, $fd) {
    dump("{$fd}關閉");
});
// start
$ws->start();

客戶端

let ws = new WebSocket("ws://127.0.0.1:9504");
ws.onopen = function (ws) {
    console.log("連接服務器");
};

ws.onclose = function (ws) {
    console.log("斷開連接");
};

ws.onmessage = function (ws) {
    console.log("接收來自服務器的消息:" + ws.data);
};

ws.onerror = function (ws, event) {
    console.log("錯誤了:" + ws.data);
};
5、定時器
           
               
                                           
                       
                 

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/29838.html

相關文章

  • Swoole學習手記(一)初識Swoole

    摘要:目錄初識創(chuàng)建服務器上創(chuàng)建服務器下異步任務持續(xù)更新中。。。參加工作有一段時間了,偶爾會聽到,對我這種小白粗略看下文檔都會覺得很牛逼。個人理解就是解決這樣應用場景的。 目錄 初識Swoole 創(chuàng)建服務器(上) 創(chuàng)建服務器(下) 異步任務task 持續(xù)更新中。。。 參加工作有一段時間了,偶爾會聽到swoole,對我這種PHP小白粗略看下文檔都會覺得很牛逼。由于學習成本比較高,自身對網絡異...

    yeyan1996 評論0 收藏0
  • 初識 swoole【下】

    摘要:前言接初識上,這篇主要是異步問題有收獲的話請加顆小星星,沒有收獲的話可以反對沒有幫助舉報三連代碼倉庫初識下異步任務設置異步任務的工作進程數(shù)量連接連接歡迎大山驢回調投遞異步任務觸發(fā)異步任務服務端回復說處理異步任務新的異步任務 前言:接初識swoole【上】,這篇主要是異步問題 有收獲的話請加顆小星星,沒有收獲的話可以 反對 沒有幫助 舉報三連 代碼倉庫 初識swoole【下】 6、異...

    yeooo 評論0 收藏0
  • swoole入門4-初識swoole

    摘要:當某種網絡事件發(fā)生時,會回調用戶設置的指定回調函數(shù)。承擔了底層網絡事件的監(jiān)聽及各種底層事件處理,當收到請求時,會觸發(fā)事件提醒,然后將控制權轉交預先注冊的事件回調函數(shù),來進行后續(xù)的處理。請求到來時創(chuàng)建,請求結束后銷毀。 運行流程圖 showImg(https://segmentfault.com/img/remote/1460000017207791);showImg(https://s...

    forsigner 評論0 收藏0
  • 實戰(zhàn) swoole【聊天室】

    摘要:是一個請求對象,包含了客戶端發(fā)來的握手請求信息事件函數(shù)中可以調用向客戶端發(fā)送數(shù)據或者調用關閉連接事件回調是可選的當服務器收到來自客戶端的數(shù)據幀時會回調此函數(shù)。 前言:了解概念之后就應該練練手啦,不然就是巨嬰 有收獲的話請加顆小星星,沒有收獲的話可以 反對 沒有幫助 舉報三連 代碼倉庫 實戰(zhàn)swoole【聊天室】 在線體驗 準備工作 需要先看初識swoole【上】,了解基本的服務端...

    andycall 評論0 收藏0
  • 【宇潤日常瘋測-007】Swoole 協(xié)程與傳統(tǒng) fpm 同步模式比較

    摘要:初識協(xié)程執(zhí)行結果協(xié)程與同步模式比較我們一直在說協(xié)程適合用于密集場景,在同樣的硬件配置環(huán)境下,它會比傳統(tǒng)的同步模式承載更多的訪問量。假設一次查詢?yōu)?,在傳統(tǒng)同步模式下,當前進程在這的時間里,是不能做其它操作的。同步模式,耗費左右的是。 如果說數(shù)組是 PHP 的精髓,數(shù)組玩得不6的,根本不能算是會用PHP。那協(xié)程對于 Swoole 也是同理,不理解協(xié)程去用 Swoole,那就是在瞎用。 首先...

    henry14 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<