PHP聊天室_WebSocket技術實戰

來源:互聯網
上載者:User

最近在研究聊天室技術,因為我是做php的,肯定想要從php入手,偶的一個聊天室,下載地址:

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

密碼:i2qz

正在修行當中,準備以此為基礎做一款php的聊天室系統出來,php的東西比較容易看懂,但是我遇到的一個問題是前台檔案如何發送資訊到後台伺服器呢,後來研究發現是用的js 的WebSocket技術,如下是常用js WebSocket 常用操作:

var socket = new WebSocket('ws://localhost:8080');
// 開啟Socket
socket.onopen = function(event) {
}
// 發送一個初始化訊息
 socket.send('I am the client and I\'m listening!');
// 監聽訊息
 socket.onmessage = function(event) {
    console.log('Client received a message',event);
  };
 // 監聽Socket的關閉
  socket.onclose = function(event) {
    console.log('Client notified socket has closed',event);
  };
  // 關閉Socket....
 socket.close()
 socket.onerror = function(evt){console.log(“WebSocketError!”);}; 

這裡給大家下載的版本是window版本的php聊天室,需要大家配置如何cmd運行php的環境,
很簡單,網上有很多教程,搜搜即可,我只說我遇到的一點疑惑,就是按照教程配置完環境變數path之後,按道理來說,應該是可以cmd運行php了,但是就是不行,過了一天,發現居然能用了,後來才想明白是,配置完後,需要重啟電腦才會生效的緣故。

以前也用過 node.js 開發過一些小功能,覺得這裡的php技術和node.js 功能都是類似的,都是不需要運行環境,自身就是運行環境的一種方式,聊天室技術,其實我覺得最大的一個突破點是,伺服器可以主動給使用者發送資訊,以控制使用者端的瀏覽器,我覺得這一點的意義很大。這樣不用再用ajax不停的訪問伺服器來獲得最新的技術了,極大的減小了伺服器的壓力,而且提高了使用者體驗,但是發現用此技術還是沒有很好的普遍使用起來,所以以後會陸續發一些此方面的相關視頻教程出來,童鞋們可以互相學習交流。
下載到源碼之後直接雙擊目錄下面的 start_for_win.bat 檔案 即可啟動 聊天室服務,
然後訪問:http://127.0.0.1:55151/  即可進入聊天室
當然也可以用如下命令控制服務:
啟動
以debug方式啟動
php /var/www/workerman/start.php start

以daemon方式啟動                           

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
查看狀態
php /var/www/workerman/start.php status


我只說重要的一點,debug方式啟動,會在你關閉cmd視窗的時候 聊天室服務就關閉了,而以以daemon方式啟動,就算cmd視窗關閉了,聊天室服務還是啟動並執行

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.