欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

php-fpm應(yīng)用與php-swoole應(yīng)用進(jìn)行通信

2023-11-01    分類: 網(wǎng)站建設(shè)

基礎(chǔ)要求

  • linux萬物皆文件

  • socket通信

  • 基礎(chǔ)進(jìn)制轉(zhuǎn)換

寫在前面

這篇文章是自己練習(xí)的內(nèi)容,主要想實現(xiàn)應(yīng)用間的通信機(jī)制。

Workerman中提供的建議方案

與其它mvc框架結(jié)合建議以上圖的方式(ThinkpHp為例):

1、ThinkpHp與Workerman是兩個獨立的系統(tǒng),獨立部署(可部署在不同服務(wù)器),互不干擾。

2、ThinkpHp以HTTp協(xié)議提供網(wǎng)頁頁面在瀏覽器渲染展示。

3、ThinkpHp提供的頁面的js發(fā)起websocket連接,連接workerman

4、連接后給Workerman發(fā)送一個數(shù)據(jù)包(包含用戶名密碼或者某種token串)用于驗證websocket連接屬于哪個用戶。

5、僅在ThinkpHp需要向瀏覽器推送數(shù)據(jù)時,才調(diào)用workerman的socket接口推送數(shù)據(jù)。

6、其余請求還是按照原本ThinkpHp的HTTp方式調(diào)用處理。

總結(jié):

把Workerman作為一個可以向瀏覽器推送的通道,僅僅在需要向瀏覽器推送數(shù)據(jù)時才調(diào)用Workerman接口完成推送。業(yè)務(wù)邏輯全部在ThinkpHp中完成。

我們使用swoole環(huán)境的常駐內(nèi)存、協(xié)程特性來做一些其他事務(wù),如:任務(wù)隊列及其消費、緩存、異步執(zhí)行等情況時

可以如建議中第5步所說,F(xiàn)pM環(huán)境調(diào)用Swoole環(huán)境提供的接口(可以用TCp/HTTp等方式)來開始一個任務(wù)

進(jìn)程通信

上面的方案可以用在單機(jī)中,也可以用在集群部署中。

進(jìn)程通信一般僅限于單機(jī)中使用

進(jìn)程通信的方式有好幾種,這里主要寫明我測試的一種。

unix socket 文件

在linux環(huán)境中,萬物皆為文件,套接字也可以用文件來表示,然后一個進(jìn)程(一般是swoole環(huán)境)監(jiān)聽它,其他進(jìn)程(FpM環(huán)境)連接它,并且發(fā)送數(shù)據(jù)

這里使用的是Easyswoole框架提供的一個基類,如果是純Swoole環(huán)境可以下載框架源碼并查看原理

EasySwoole部分

繼承了 AbstractUnixprocess ,封裝好了很多內(nèi)容,直接寫明onAccept 接受數(shù)據(jù)做處理即可

 \;

 \\\\;
 \\;

   
{

     (Socket $socket)
    {
        
        $header = $socket->recvAll(, );

         (strlen($header) != ) {
            $socket->sendAll(::pack(json_encode([
                 => ,
                 => ,
            ], )));
            $socket->close();
            ;
        }

        
        
        $allLength = ::packDataLength($header);
        $data = $socket->recvAll($allLength, );
         (strlen($data) == $allLength) {
             $data;

            

            $socket->sendAll(::pack(json_encode([
                 => ,
                 => ,
            ], )));
            $socket->close();
        }{

            $socket->sendAll(::pack(json_encode([
                 => ,
                 => ,
            ], )));
            $socket->close();
        }
    }

      ($string)
    {
         pack(, strlen($string)) . $string;
    }

      ($head)
    {
         unpack(, $head)[];
    }
}

寫好了任務(wù)邏輯,還需要加入啟動該進(jìn)程

EasySwooleEvent.php文件
       (EventRegister $register)
    {
        $config =  UnixprocessConfig();
        $config->setSocketFile(EASYSWOOLE_ROOT.);
        $config->setprocessName();

        $siam =  Siam($config);
        ServerManager::getInstance()->getSwooleServer()->addprocess($siam->getprocess());
    }

普通環(huán)境發(fā)送數(shù)據(jù)

$sock = dirname().;

$unixSock = stream_socket_client(.$sock);

fwrite($unixSock, siam_pack());



fclose($unixSock);




 ($string)
{
     pack(, strlen($string)) . $string;
}

 ($head)
{
     unpack(, $head)[];
}

當(dāng)前題目:php-fpm應(yīng)用與php-swoole應(yīng)用進(jìn)行通信
文章轉(zhuǎn)載:http://aaarwkj.com/news3/291903.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器網(wǎng)站導(dǎo)航、品牌網(wǎng)站設(shè)計品牌網(wǎng)站制作、外貿(mào)建站、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
国产内射一级一片内射高清视频1| 美女高潮久久久777| 91麻豆精品一二三区在线| 久久久久亚洲av成人网人| 欧美日韩亚洲视频一区久久| 男人的天堂在线观看黄片| 日韩高清不卡免费视频| 日韩精品电影一区在线观看| 日韩精品国产一区二区在线观看| 国产中文字幕一区二区在线观看| 91九色国产成人久久精品| 人妻少妇精品一区毛二区| 中文字幕加勒比东京热| 久久精品国产亚洲av麻豆她| 国产强烈高潮粗暴对白| 嫩草网站国产精品一区二| 91国产性感美女视频| 日韩亚洲天堂视频免费观看| 五月婷婷丁香在线观看| 一区二区在线观看激情| 97在线观看免费公开| 亚洲av精二区三区四区| 黄色录像免费一内片一级| 日本高清不卡免费在线观看视频一二三区 | 色婷婷一区二区三区四| 精品黄色大片不卡国产| 国产精品粗又长一区| 九九视频在线精品免费观看| 日韩欧美一区二区麻豆| 欧美日韩人美精品一区在线| 中文免费在线观看av| 亚洲黄色成人免费观看| 成人一区二区三区乱码| 日本东京热在线免费观看| 亚洲一区二区精品91眼镜| 日韩中文字幕久久中文字幕| 精品一区中文字幕少妇人妻| 日本免费中文字幕在线| 国产av爆操黑丝美女| 国产成人亚洲合色婷婷| 免费看国产一级黄色大片|