当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP聊天室_WebSocket技术实战

发布:smiling 来源: PHP粉丝网  添加日期:2016-08-25 14:59:02 浏览: 评论:0 

PHP聊天室以前做时都是通过ajax与PHP来实现的,今天我们就一起来看一个PHP聊天室WebSocket技术实战例子.

最近在研究聊天室技术,因为我是做php的,肯定想要从php入手,偶的一个聊天室,下载地址:

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

密码:i2qz

正在修行当中,准备以此为基础做一款php的聊天室系统出来,php的东西比较容易看懂,但是我遇到的一个问题是前台文件如何发送信息到后台服务器呢,后来研究发现是用的js 的WebSocket技术,如下是常用js WebSocket 常用操作:

  1. var socket = new WebSocket('ws://localhost:8080');  
  2. // 打开Socket  
  3. socket.onopen = function(event) {  
  4. // 发送一个初始化消息 
  5.  socket.send('I am the client and I\'m listening!');  
  6. // 监听消息 
  7.  socket.onmessage = function(event) {  
  8.     console.log('Client received a message',event);  
  9.   };  //phpfensi.com 
  10.  // 监听Socket的关闭 
  11.   socket.onclose = function(event) {  
  12.     console.log('Client notified socket has closed',event);  
  13.   };  
  14.   // 关闭Socket....  
  15.  socket.close()  
  16.  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窗口关闭了,聊天室服务还是运行的

Tags: PHP聊天室 _WebSocket

分享到: