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,可以無限擴展框架的功能。