最近在研究聊天室技術,因為我是做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視窗關閉了,聊天室服務還是啟動並執行