国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP聊天室_WebSocket技術(shù)實(shí)戰(zhàn)

2024-05-04 21:50:01
字體:
供稿:網(wǎng)友

PHP聊天室以前做時(shí)都是通過ajax與PHP來實(shí)現(xiàn)的,今天我們就一起來看一個(gè)PHP聊天室WebSocket技術(shù)實(shí)戰(zhàn)例子.

最近在研究聊天室技術(shù),因?yàn)槲沂亲鰌hp的,肯定想要從php入手,偶的一個(gè)聊天室,下載地址:

http://pan.baidu.com/s/1dDWsbip

密碼:i2qz

正在修行當(dāng)中,準(zhǔn)備以此為基礎(chǔ)做一款php的聊天室系統(tǒng)出來,php的東西比較容易看懂,但是我遇到的一個(gè)問題是前臺(tái)文件如何發(fā)送信息到后臺(tái)服務(wù)器呢,后來研究發(fā)現(xiàn)是用的js 的WebSocket技術(shù),如下是常用js WebSocket 常用操作:

  1. var socket = new WebSocket('ws://localhost:8080');  
  2. // 打開Socket  
  3. socket.onopen = function(event) {  
  4. // 發(fā)送一個(gè)初始化消息 
  5.  socket.send('I am the client and I/'m listening!');  
  6. // 監(jiān)聽消息 
  7.  socket.onmessage = function(event) {  
  8.     console.log('Client received a message',event);  
  9.   };  //Vevb.com 
  10.  // 監(jiān)聽Socket的關(guān)閉 
  11.   socket.onclose = function(event) {  
  12.     console.log('Client notified socket has closed',event);  
  13.   };  
  14.   // 關(guān)閉Socket....  
  15.  socket.close()  
  16.  socket.onerror = function(evt){console.log(“WebSocketError!”);};  

這里給大家下載的版本是window版本的php聊天室,需要大家配置如何cmd運(yùn)行php的環(huán)境,很簡單,網(wǎng)上有很多教程,搜搜即可,我只說我遇到的一點(diǎn)疑惑,就是按照教程配置完環(huán)境變量path之后,按道理來說,應(yīng)該是可以cmd運(yùn)行php了,但是就是不行,過了一天,發(fā)現(xiàn)居然能用了,后來才想明白是,配置完后,需要重啟電腦才能生效的緣故。

以前也用過 node.js 開發(fā)過一些小功能,覺得這里的php技術(shù)和node.js 功能都是類似的,都是不需要運(yùn)行環(huán)境,自身就是運(yùn)行環(huán)境的一種方式,聊天室技術(shù),其實(shí)我覺得最大的一個(gè)突破點(diǎn)是,服務(wù)器可以主動(dòng)給用戶發(fā)送信息,以控制用戶端的瀏覽器,我覺得這一點(diǎn)的意義很大。這樣不用再用ajax不停的訪問服務(wù)器來獲得最新的技術(shù)了,極大的減小了服務(wù)器的壓力,而且提高了用戶體驗(yàn),但是發(fā)現(xiàn)用此技術(shù)還是沒有很好的普遍使用起來,所以以后會(huì)陸續(xù)發(fā)一些此方面的相關(guān)視頻教程出來,童鞋們可以互相學(xué)習(xí)交流。

下載到源碼之后直接雙擊目錄下面的 start_for_win.bat 文件 即可啟動(dòng) 聊天室服務(wù),然后訪問:http://127.0.0.1:55151/  即可進(jìn)入聊天室

當(dāng)然也可以用如下命令控制服務(wù):

啟動(dòng)

以debug方式啟動(dòng)

php /var/www/workerman/start.php start

以daemon方式啟動(dòng)                           

php /var/www/workerman/start.php start -d

停止

php /var/www/workerman/start.php stop

重啟

php /var/www/workerman/start.php restart

平滑重啟

php /var/www/workerman/start.php reload

查看狀態(tài)

php /var/www/workerman/start.php status

我只說重要的一點(diǎn),debug方式啟動(dòng),會(huì)在你關(guān)閉cmd窗口的時(shí)候 聊天室服務(wù)就關(guān)閉了,而以以daemon方式啟動(dòng),就算cmd窗口關(guān)閉了,聊天室服務(wù)還是運(yùn)行的

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 瑞金市| 丹棱县| 珠海市| 五河县| 宝清县| 苏尼特左旗| 沙湾县| 牟定县| 岳西县| 琼中| 许昌市| 揭东县| 东莞市| 昭觉县| 双辽市| 城口县| 梁河县| 鸡东县| 台州市| 新建县| 博罗县| 长沙县| 桑植县| 贵定县| 泸西县| 镇远县| 广昌县| 承德市| 资阳市| 集贤县| 仙桃市| 西乌珠穆沁旗| 邵东县| 华蓥市| 永善县| 辽中县| 静宁县| 秦安县| 皋兰县| 沙田区| 丁青县|