加入收藏 | 设为首页 | 会员中心 | 我要投稿 源码门户网 (https://www.92codes.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP聊天室 WebSocket技术实战

发布时间:2022-02-24 09:59:55 所属栏目:PHP教程 来源:互联网
导读:PHP聊天室以前做时都是通过ajax与PHP来实现的,今天我们就一起来看一个PHP聊天室WebSocket技术实战例子. 最近在研究聊天室技术,因为我是做php的,肯定想要从php入手,偶的一个聊天室,下载地址: http://pan.baidu.com/s/1dDWsbip 密码:i2qz 正在修行当中,准备
  PHP聊天室以前做时都是通过ajax与PHP来实现的,今天我们就一起来看一个PHP聊天室WebSocket技术实战例子.
 
  最近在研究聊天室技术,因为我是做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);  
    };  //Cuoxin.com
   // 监听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窗口关闭了,聊天室服务还是运行的

(编辑:源码门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读