日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

cygwin swoole_swoole入门--------基础概念

發布時間:2023/12/15 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cygwin swoole_swoole入门--------基础概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習swoole我們要首先了解下網絡通信架構

B/S結構 (Browser/Server):又稱瀏覽器/服務器模式。

這種模式統一了客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。

C/S結構(Client/Server,客戶/服務器模式)

客戶端需要安裝專用的客戶端軟件。通過將任務合理分配到Client端和Server端,降低了系統的通訊開銷,可以充分利用兩端硬件環境的優勢。客戶端進行用戶界面/事物處理,服務器進行數據處理。

兩者比較

C/S架構 可以保持長連接,長時間未發送持續鏈接包將斷開鏈接。

B/S 短鏈接 一次請求只返回一次結果,當用戶訪問瀏覽器,只會響應一次不可多次交互

b/s架構如果想實現客戶端與服務端的雙向通信,一般可以通過輪詢或長輪詢方式,但這兩種方式相當消耗資源,如果訪問量較高,也會對服務器造成一定的壓力。此時就體現websocket的優勢。

swoole與workman比較

有人說如果想實現雙向通信workerman也可以啊,為何要使用swoole。一個東西得出現必然有出現的道理,相互比較擇優選擇才會更好。

swoole是PHP的一個擴展,由C/C++語言開發,對于內存管理,數據結構,通信協議等要比PHP開發的workerman效率高很多。 使用 PHP + Swoole 作為網絡通信框架,可以使企業 IT 研發團隊的效率大大提升,更加專注于開發創新產品。

從本質來說,swoole屬于C/S架構網絡編程。

說了那么多讓我們來看看swoole能做什么。

應用場景

聊天室開發、游戲、物聯網等場景中都有應用。

下載swoole編譯安裝

環境準備 centos7

寶塔7.0

PHP 7.3

swoole :4.4.12

1.安裝

swoole 是php 的擴展,支持在Linux 下,在window 下需要 安裝cgywin,Cygwin是一個在windows平臺上運行的類UNIX模擬環境

window安裝參考https://www.cnblogs.com/chenjunwu/p/10953652.html

這里我們只演示在linux下的安裝

https://github.com/swoole/swoole-src/releases下載對應版本

這里我們下載4.4.12這個版本

然后上傳到服務器 對應目錄 /www/server/swoole/

tar -zxvf swoole-src-4.4.12.tar.gz cd /swoole-src-4.4.14 phpize find / -name php-config // 不要一對一復制,請根據實際情況查看 ./configure --with-php-config=/www/server/php/73/bin/php-config make make install 編譯安裝完成后找到php.ini 文件 find / -name php.ini //根據實際情況找到php.ini文件 vi /www/server/php/73/etc/php.ini 添加 extension=swoole.so :wq 保存并退出 然后 /etc/init.d/php-fpm-73 restart 重啟php-fpm

php --ri swoole | grep Vers 查看swoole版本

初體驗

// 1.創建swoole 默認創建一個同步阻塞tcp服務 //創建Server對象,監聽 127.0.0.1:9501端口 $serv = new SwooleServer("127.0.0.1", 9501); //監聽連接進入事件 $serv->on('Connect', function ($serv, $fd) { echo "Client: Connect.n"; }); // 2.注冊事件 //監聽數據接收事件 $serv->on('Receive', function ($serv, $fd, $from_id, $data) {$serv->send($fd, "Server: ".$data); });//監聽連接關閉事件 $serv->on('Close', function ($serv, $fd) {echo "Client: Close.n"; }); $serv->on('Start',function($serv){ echo '啟動swoole' }) // 3.啟動服務器 $serv->start(); //阻塞與非阻塞

瀏覽器如何解析域名

1.域名解析:瀏覽器解析域名對應的IP地址;

//DNS Domain Name System 域名系統 將域名映射為IP地址的過程就稱為“域名解析”。DNS就是進行域名解析的服務器

2.發起TCP的3次握手 :TCP 傳輸控制協議

//1.拿到IP地址后,瀏覽器第一次發起連接請求(試探),進入等待回復狀態,(沒有攜帶數據)

//2.服務器端接收到請求之后,如果同意連接,向客戶端發送確認;

//3.客戶端收到確認后需再發一次請求,此時攜帶要發送給Server的數據,服務器端收到客戶端確認后,此時TCP連接,可以發起Http請求。

3.建立TCP連接后發起http請求

4.服務器響應http請求,瀏覽器得到html代碼

5.瀏覽器解析html代碼,并請求html代碼中的資源(如js、css、圖片等)

6.瀏覽器對頁面進行渲染呈現給用戶

更好的學習了解swoole 我們可以下載這個組件

下載swoole-ide-helper

總結

以上是生活随笔為你收集整理的cygwin swoole_swoole入门--------基础概念的全部內容,希望文章能夠幫你解決所遇到的問題。

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