您现在的位置是:网站首页>后端技术>PHP教程PHP教程

tp5实现workerman在线聊天功能

神夜2021-08-25 09:15:34PHP教程4478人已围观文章来源:神夜个人博客

简介

基于tp5框架下,我们使用comporser工具下载workerman

安装workerman:

首先通过 composer 安装


composer require topthink/think-worker 1.0.*


在thinkphp5根目录(即与application同级目录)创建serve.php,编辑一下内容。



define('APP_PATH'__DIR__ . '/app/');

define('BIND_MODULE','chat/Index');

// 加载框架引导文件
require __DIR__ . '/libs/start.php';



接着我们可以创建chat模块的Index控制器:

Index.php代码如下:


namespace app\chat\controller;
use think\worker\Server;

class Index extends Server {
  
  protected $socket = 'websocket://127.0.0.1:2346';
  /**
     * 收到信息
     * @param $connection
     * @param $data
     */
  public function onMessage($connection$data) {
    $connection->send($data);
  }
  /**
     * 当连接建立时触发的回调函数
     * @param $connection
     */
  public function onConnect($connection) {
    $connection->send('连接成功');
  }
  /**
     * 当连接断开时触发的回调函数
     * @param $connection
     */
  public function onClose($connection) {
    $connection->send('连接已断开');
  }
  /**
     * 当客户端的连接上发生错误时触发
     * @param $connection
     * @param $code
     * @param $msg
     */
  public function onError($connection$code$msg) {
    echo "error $code $msg\n";
    $connection->send('连接错误:$code $msg\n');
  }
  /**
     * 每个进程启动
     * @param $worker
     */
  public function onWorkerStart($worker) {
  }
}


运行server.php

命令:php server.php

新建html文件


DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>title>
    <script src="js/jquery.js">script>
  head>
  <body>
    
    
    
    <textarea rows="5" id="content">textarea>
    <button type="button" onclick="send()">发送button>
    
    <script>
    
    var ws = new WebSocket("ws://127.0.0.1:2346");
    ws.onopen = function(){
      console.log("连接成功")     
    }
    
    ws.onmessage = function(e){
      console.log(e)      
    }
    
    function send(){
      var content = $("#content").val();
      console.log(ws)
      ws.send(`${content}`)
    }
    
    script>
    
    
  body>
html>


在控制台可查看连接成功输出

每次修改后台代码后要重启 serve.php 才生效。




站点信息

  • 建站时间:2017-10-24
  • 网站程序:Hsycms 3.0
  • 文章统计:511条
  • 微信公众号:扫描二维码,关注我们