tp6+Workerman+linux+宝塔+apipost

linux服务器启动websocket,

首先tp6文档composer require topthink/think-worker,安装文档流程来

创建文件Worker类

<?php

namespace app\http;

use think\worker\Server;
use Workerman\Lib\Timer;

class Worker extends Server
{

protected $socket = 'websocket://0.0.0.0:9501';

/**
* 收到信息
* @param $connection
* @param $data
*/
public function onMessage($connection, $data)
{
// echo '后台收到前台的信息';
echo $data;

// 定时器,每隔1秒向客户端发送一条消息
$timer_id = Timer::add(1, function () use ($connection, $data) {
$connection->send($data);
});
// 将定时器ID保存到连接对象中
$connection->timer_id = $timer_id;
// $connection->send('我收到你的信息了,后台收到前台的信息了');
}

/**
* 当连接建立时触发的回调函数
* @param $connection
*/
public function onConnect($connection)
{
$connection->send('欢迎连接到服务器!');
}

/**
* 当连接断开时触发的回调函数
* @param $connection
*/
public function onClose($connection)
{
// 检查是否存在 timer_id 属性
if (isset($connection->timer_id)) {
// 清除定时器
Timer::del($connection->timer_id);
}

}

/**
* 当客户端的连接上发生错误时触发
* @param $connection
* @param $code
* @param $msg
*/
public function onError($connection, $code, $msg)
{
echo "error $code $msg\n";
}

/**
* 每个进程启动
* @param $worker
*/
public function onWorkerStart($worker)
{

}
}

 在worker_server目录下添加就是上面的文件位置

 

linux上启动

[root@iZuf6c3mmbenhfqyn7o9lfZ building-cloud-platform]# php think worker:server start 

apipost访问服务器websocket一直访问不上

问题解决:只 宝塔端口开发9501没有,服务器也要开启

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值