日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

workerman实现聊天室

發布時間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 workerman实现聊天室 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Workerman的一些應用方向如下

  • 即時通訊類 例如網頁即時聊天、即時消息推送、微信小程序、手機app消息推送、PC軟件消息推送等等
  • 物聯網類 例如Workerman與打印機通訊、與單片機通訊、智能手環、智能家居、共享單車等等。
  • 游戲服務器類
  • SOA服務化 利用Workerman將現有業務不同功能單元封裝起來,以服務的形式對外提供統一的接口,達到系統松耦合、易維護、高可用、易伸縮。[示例 workerman-json-rpc、 workerman-thrift]
  • 其它服務器軟件 例如 GatewayWorker,PHPSocket.IO,http代理,sock5代理,分布式通訊組件,分布式變量共享組件,消息隊列、DNS服務器、WebServer、CDN服務器、FTP服務器等等
  • 中間件 例如異步MySQL組件,異步redis組件,異步http組件,異步消息隊列組件,異步dns組件,文件監控組件,還有很多第三方開發的組件框架等等 原理: worker是workweman中的基本容器,每個worker都可以開啟多個進程監聽端口并使用特定的協議通訊,類似nginx監聽端口;每個Worker進程獨立運作,采用Epoll(需要裝event擴展)+非阻塞IO,每個Worker進程都能做上萬的客戶端連接,并處理這些連接上發來的數據。主進程為了保持穩定性,只負責監控子進程,不負責接收數據也不做任何業務邏輯。
  • 現在我們就可以做一個聊天室,關鍵代碼如下:

    <?php /*** Created by PhpStorm.* User: John* Date: 2019/4/3* Time: 13:19*/use Workerman\Worker;require __DIR__.'/../Workerman-framework/Autoloader.php';// 當客戶端連上來時分配uid,并保存連接,并通知所有客戶端 function handle_connection($connection) {}// 當客戶端發送消息過來時,轉發給所有人 function handle_message($connection, $data) {global $text_worker;foreach($text_worker->connections as $conn){$conn->send($data);} }// 當客戶端斷開時,廣播給所有客戶端 function handle_close($connection) {}// 創建一個文本協議的Worker監聽2347接口 $text_worker = new Worker("websocket://0.0.0.0:2347");// 只啟動1個進程,這樣方便客戶端之間傳輸數據 $text_worker->count = 1;$text_worker->onConnect = 'handle_connection'; $text_worker->onMessage = 'handle_message'; $text_worker->onClose = 'handle_close';Worker::runAll(); 復制代碼

    前端代碼如下

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <div style="margin: 0 auto;width: 800px"><h2>聊天室</h2><textarea type="text" style="border: 1px solid black;width: 800px;height: 200px;" id="his"></textarea><input type="text" style="width:740px" id="sendMsg">&nbsp;<button id="send">發送</button> </div> </body> </html> <script src="http://code.jquery.com/jquery-latest.js"></script> <script>$(function () {var ws = new WebSocket("ws://127.0.0.1:2347");var storage = window.localStorage;if(!storage.getItem('name')){var name=prompt("請輸入您的名字","");storage.setItem('name',name);}$('#send').click(function () {msg = $('#sendMsg').val();$('#sendMsg').val('');ws.send(storage.getItem('name')+':'+msg);});ws.onopen = function() {$('#his').append("服務器連接成功.....");$('#his').append("\n");};ws.onmessage = function(e) {$('#his').append(e.data);$('#his').append("\n");};}); </script> 復制代碼

    咱們這里使用了websocket協議,打開頁面即建立一個連接;

    解釋下php代碼

    onConnet就是連接時完成三次握手時,執行的觸發動作;$connection是連接對象;

    onMessage是當客戶端通過連接發來數據時(Workerman收到數據時)觸發的回調函數;data是對應協議decode(解碼)了的數據;$connection是連接對象

    onClose當客戶端連接與Workerman斷開時觸發的回調函數。不管連接是如何斷開的,只要斷開就會觸發onClose。每個連接只會觸發一次onClose(注意:這里的斷開指的是關閉瀏覽器,不是斷網;斷網的話需要做心跳檢測來判斷)

    代碼傳送門(github.com/BoHongtao/W…)

    示例demo(github.com/BoHongtao/W…)

    轉載于:https://juejin.im/post/5caae542e51d452b084af4b4

    總結

    以上是生活随笔為你收集整理的workerman实现聊天室的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 精品视频一区二区三区四区 | 丁香花电影高清在线阅读免费 | 亚洲一区二区三区久久久成人动漫 | 中文字幕在线视频观看 | 91九色精品 | 大胸美女啪啪 | 亚洲一区二区偷拍 | 中文字幕亚洲乱码 | 日韩成人午夜电影 | 91久久精品国产91性色tv | 99久久一区二区 | 高h喷汁呻吟3p | 成年人福利网站 | 国产日本一区二区三区 | 超清纯大学生白嫩啪啪 | 先锋av资源站 | 婷婷综合亚洲 | 毛片的网站| 国产高清久久久 | 一区二区三区在线视频免费观看 | 狠狠干狠狠爱 | 久久精品99国产精 | 免费视频二区 | 日韩成人免费电影 | 97视频一区| 激情第一页 | www.人人草 | 51免费看成人啪啪片 | 国产在线观看一区 | 超碰狠狠干 | 东北老女人av | 91无打码 | 国产免费无遮挡吸奶头视频 | 浮生影视在线观看免费 | 激情伊人| 欧美香蕉在线 | 在线观看亚洲精品视频 | 国产综合久久久久久鬼色 | 好色av| 亚色在线 | 在线看片福利 | 日韩欧美精品国产 | av调教 | 亚洲一区精品视频 | 进去里在线观看 | 中国老头性行为xxxx | 天天爱综合 | 日韩午夜视频在线观看 | 中文字幕第15页 | 亚洲精品久久久中文字幕 | 高清三区 | 欧美日韩久 | 波多野一区二区 | 欧美亚洲色综久久精品国产 | 99re这里只有精品首页 | 欧美激情18p | av 一区二区三区 | 99热国产| 漂亮人妻洗澡被公强 日日躁 | 91亚洲国产成人久久精品网站 | 国产极品一区二区 | 春闺艳妇(h)高h产乳 | 三级免费网站 | 成人av动漫在线观看 | 国产精品久久久久久久久久久久久久 | 国产精品ⅴa有声小说 | 综合久久91 | 久久久久人妻一区二区三区 | 三八激情网 | 午夜精品美女久久久久av福利 | 日韩一级久久 | 亚洲欧洲视频在线观看 | 国产一卡二卡在线播放 | 亚洲国产经典 | 免费看毛片网站 | 福利片一区二区 | 国产chinesehd精品露脸 | 国产精品精品国产 | 午夜黄色网址 | 伊人久久综合影院 | 亚洲美女视频在线观看 | 国产无遮挡免费视频 | 色亚洲成人 | 欧美精品日韩在线 | www.com在线观看| 亚洲精品国产suv | 午夜视频在线看 | 亚洲一区二区三区加勒比 | 亚洲自拍偷拍第一页 | 在线视频你懂得 | 久草在在线 | 男女无遮挡做爰猛烈视频 | 在线观看午夜视频 | 在线视频网 | 性做久久久久久免费观看欧美 | 欧美亚洲一级 | 久久久看片 | 欧美成人h版在线观看 | 欧美精品久久99 |