最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php使用socket簡單實現(xiàn)通信功能

 更新時間:2023年03月06日 10:32:24   作者:小信啊啊  
socket只不過是一個數(shù)據(jù)結構。使用這個socket數(shù)據(jù)結構去開始一個客戶端和服務器之間的會話。服務器是一直在監(jiān)聽準備產生一個新的會話。當一個客戶端連接服務器,它就打開服務器正在進行監(jiān)聽的一個端口進行會話

WebSocket的作用

WebSock其實在平常使用,我們是時常見到的,用于實時通訊,例如我們常用的實時聊天、服務端向客戶端消息推送、也可以實現(xiàn)踢用戶下線功能。實時彈幕功能等等。

什么是握手

為了創(chuàng)建Websocket連接,需要通過瀏覽器發(fā)出請求,之后服務器進行回應,這個過程通常稱為“握手”(handshaking)。

這是比較正式的理解,在接下來使用方式中會在介紹到握手的實際含義。

背景介紹

目標:我希望通過套接字的TCP傳輸來搭建一個服務器,這個服務器的作用是:接受多個客戶端的連接并完成他們的相互通信。比如客戶端A,客戶端B同時連接到服務器S,客戶端A向服務器S發(fā)送消息,服務器S會將A的消息轉發(fā)給B,同理,B的消息也可以通過S被轉發(fā)到A。這樣就實現(xiàn)了客戶端A和客戶端B之間的相互通信。

本次我們只實現(xiàn)客戶端與服務器之間連接并通信,暫時沒有寫服務器的轉發(fā)功能。

IP和PORT

服務端需要有一個IP,TCP通信時,還需要提供一個端口號。

客服端需要有一個IP,TCP通信時,也需要提供一個端口號。

服務端就是負責接收客戶端的信息

客戶端代碼

$PORT = 12345; //與server端口匹配
//創(chuàng)建socket/參數(shù)1:代表IPV4/參數(shù)2:流傳輸/參數(shù)3:TCP/
$client = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
//向指定地址/端口發(fā)出連接請求,連接結果返回到resule/127.0.0.1指本地IP
$result = socket_connect($client, "127.0.0.1", $PORT); 
//這里我們簡單的對連接結果進行響應/為了Debug方便
if($result == false){  
    echo "ERROR CONNECT\n"; 
    die();
} else {
    echo "CONNECTED\n";
}
//建立將要發(fā)送的消息
$data = "linrux Hello World\n"; 
//將消息發(fā)送出去
socket_write($client, $data); 
 //關閉socket
socket_close($client);

服務端代碼

//進入死循環(huán),一直接收客戶端發(fā)送信息
while(true){
//創(chuàng)建socket/參數(shù)解釋同客服端
$server = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); 
//綁定端口和IP/0.0.0.0表示允許任意地址發(fā)起連接/12345表示允許12345端口號進行連接
socket_bind($server, "0.0.0.0", 12345); 
//進入監(jiān)聽
socket_listen($server); 
//接收請求并建立連接
$connection = socket_accept($server); 
//接收數(shù)據(jù)
$data = socket_read($connection, 1024); 
echo $data; 
}
//關閉socket 
#socket_close($server);

客戶端發(fā)送信息

服務端接收消息

到此這篇關于php使用socket簡單實現(xiàn)通信功能的文章就介紹到這了,更多相關php socket內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • PHP常見過waf webshell以及最簡單的檢測方法

    PHP常見過waf webshell以及最簡單的檢測方法

    這篇文章主要給大家介紹了關于PHP常見過waf webshell以及最簡單的檢測方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用PHP具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • THINKPHP+JS實現(xiàn)縮放圖片式截圖的實現(xiàn)

    THINKPHP+JS實現(xiàn)縮放圖片式截圖的實現(xiàn)

    上傳圖片 -- 保存并顯示圖片 -- JS獲取縮略圖參數(shù) -- 提交位置參數(shù) -- 圖片縮放保存類處理圖片 -- 保存截取的圖片--更新數(shù)據(jù)庫 -- 跳轉
    2010-03-03
  • PHP利用一行代碼刪除目錄下所有文件方法示例

    PHP利用一行代碼刪除目錄下所有文件方法示例

    這篇文章主要給大家介紹了關于PHP如何利用一行代碼刪除目錄下所有文件的相關資料,文中先對glob函數(shù)進行了一個簡單的介紹,而后通過示例代碼將刪除的方法介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2018-01-01
  • PHP讀取大文件的多種方法介紹

    PHP讀取大文件的多種方法介紹

    這篇文章主要為大家詳細介紹了PHP讀取大文件的多種方法,感興趣的朋友可以參考一下
    2016-04-04
  • php中使用PHPExcel讀寫excel(xls)文件的方法

    php中使用PHPExcel讀寫excel(xls)文件的方法

    這篇文章主要介紹了php中使用PHPExcel讀寫excel(xls)文件的方法,phpExcel是常用的用于操作Excel的PHP類庫,應用非常廣泛。需要的朋友可以參考下
    2014-09-09
  • 詳解PHP執(zhí)行定時任務的實現(xiàn)思路

    詳解PHP執(zhí)行定時任務的實現(xiàn)思路

    這篇文章主要介紹了詳解PHP執(zhí)行定時任務的幾種實現(xiàn)思路,PHP的定時任務功能必須通過和其他工具結合才能實現(xiàn),們就來深入的解析幾種常見的php定時任務的思路
    2015-12-12
  • PHP實現(xiàn)CSV文件的導入和導出類

    PHP實現(xiàn)CSV文件的導入和導出類

    這篇文章主要介紹了PHP實現(xiàn)CSV文件的導入和導出類,實例分析了php針對csv文件的操作技巧,非常具有實用價值,需要的朋友可以參考下
    2015-03-03
  • 深入理解PHP原理之Session Gc的一個小概率Notice

    深入理解PHP原理之Session Gc的一個小概率Notice

    PHP Notice: session_start(): ps_files_cleanup_dir
    2011-04-04
  • Mac M1安裝mnmp(Mac+Nginx+MySQL+PHP)開發(fā)環(huán)境

    Mac M1安裝mnmp(Mac+Nginx+MySQL+PHP)開發(fā)環(huán)境

    這篇文章主要介紹了Mac M1安裝mnmp(Mac+Nginx+MySQL+PHP)開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Gregarius中文日期格式問題解決辦法

    Gregarius中文日期格式問題解決辦法

    Gregarius支持中文的程度很不錯,唯一的缺陷就是在日期格式上會出現(xiàn)亂碼。其實只要修改根目錄下util.php文件的rss_locale_date方法就可以解決這個問題,希望可以幫助使用Gregarius的朋友,修改后的方法代碼如下:
    2008-04-04

最新評論

顺义区| 临夏市| 察隅县| 锦屏县| 建德市| 桐庐县| 桦南县| 柘荣县| 前郭尔| 甘孜县| 乐都县| 通许县| 抚州市| 上思县| 随州市| 赣州市| 葫芦岛市| 合川市| 临清市| 梨树县| 融水| 华容县| 樟树市| 滦平县| 平度市| 浦江县| 孝义市| 青州市| 曲水县| 建湖县| 东宁县| 邵东县| 临沧市| 平陆县| 莱州市| 绥宁县| 宜宾县| 彭水| 松原市| 兰溪市| 宝清县|