socket是系統提供的對tcp/ip操作的接口,swoole這是對socket在進行一個封裝並提供php操作接口的php擴充。
套接字(socket)是一個抽象層,應用程式可以透過它發送或接收數據,可對其進行像對檔案一樣的開啟、讀寫和關閉等操作。套接字允許應用程式將I/O插入到網路中,並與網路中的其他應用程式進行通訊。網路套接字是IP位址與連接埠的組合。 (建議學習:swoole視訊教學)
傳輸層實現端對端的通訊,因此,每個傳輸層連接有兩個端點。那麼,傳輸層連接的端點是什麼呢?不是主機,不是主機的IP位址,不是應用程式,也不是傳輸層的協定連接埠。
傳輸層連接的端點叫做套接字(socket)。根據RFC793的定義:連接埠號碼拼接到IP位址就構成了套接字。
所謂套接字,實際上是一個通訊端點,每個套接字都有一個套接字序號,包括主機的IP位址與一個16位元的主機連接埠號,即形如(主機IP位址:連接埠號碼)。例如,如果IP位址是210.37.145.1,而連接埠號碼是23,那麼得到套接字就是(210.37.145.1:23)。
總之,套接字Socket=(IP位址:連接埠號),套接字的表示方法是點分十進位的IP位址後面寫上埠號,中間用冒號或逗號隔開。每一個傳輸層連接唯一地被通訊兩端的兩個端點(即兩個套接字)所決定。
Swoole是一個以生產環境為導向的 PHP 非同步網路通訊引擎,讓 PHP 開發人員可以編寫高效能的非同步並發 TCP、UDP、Unix Socket、HTTP,WebSocket 服務。
Swoole 可廣泛應用於互聯網、行動通訊、企業軟體、雲端運算、網路遊戲、物聯網(IOT)、車聯網、智慧家庭等領域。使用 PHP Swoole 作為網路通訊框架,可以讓企業 IT 研發團隊的效率大大提升。
包含以下幾個特色功能:
1、類似ORM的資料查詢,提供SQL封裝器,讓MySQL的SQL與PHP的Array,會話,Cache無縫結合。
2、App MVC分層結構,有效的程式結構分層,提高程式的可維護性和擴展性,實現低耦合,基於介面開發。
3、整合大量,實用的功能,例如方便的資料庫操作,範本操作,快取操作,系統配置,表單處理,分頁,資料調用,字典操作,上傳處理,內容編輯,調試等。
4、模板-數據反射系統,可以直接在模板中調用數據,提供許多標籤,可以無需修改程序,只修改模板,即可實現網站各類更新維護工作。
另外的幾個功能
1、Swoole包含了大量類,提供眾多的功能擴展,基本上Web開發能夠用到的功能類,大部分都可以在Swoole框架中找到。
2、Swoole擁有插件系統,Fckeditor、Adodb、pscws中文分詞、中文全文索引系統、最新的Key-Value資料庫思想,TokyoTyrant,可以無限擴展框架的功能。
以上是swoole和socket的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!