php workerman window,php windows系统下的tp5运行Workerman显示 @@@no worker inited@@@ 并自动退出...

目前运行workerman的时候会出现这种情况:

bVbylX8?w=470&h=182

start.php文件配置:

use Workerman\Worker;

require_once __DIR__ . '/vendor/workerman/workerman-for-win/Autoloader.php';

Worker::runAll();

server.php文件:

define('APP_PATH', __DIR__ . '/application/');

define('BIND_MODULE','socket/Worker');

// 加载框架引导文件

require __DIR__ . '/start.php';

worker.php文件:

namespace app\socket\controller;

use think\worker\Server;

class Worker extends Server

{

protected $socket = 'websocket://127.0.0.1:2345';

/**

* 收到信息

* @param $connection

* @param $data

*/

public function onMessage($connection, $data)

{

$connection->send('我收到你的信息了');

}

/**

* 当连接建立时触发的回调函数

* @param $connection

*/

public function onConnect($connection)

{

$connection->send('正在连接');

}

/**

* 当连接断开时触发的回调函数

* @param $connection

*/

public function onClose($connection)

{

$connection->send('连接关闭');

$connection->close();

}

/**

* 当客户端的连接上发生错误时触发

* @param $connection

* @param $code

* @param $msg

*/

public function onError($connection, $code, $msg)

{

echo "error $code $msg\n";

}

/**

* 每个进程启动

* @param $worker

*/

public function onWorkerStart($worker)

{

}

}

不清楚是什么情况,如果需要补充请说

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用 `import {Client} from '@stomp/stompjs'` 时结合 Web Worker,可以按照以下步骤进行: 1. 在 Web Worker 中导入 `@stomp/stompjs` 库: ```javascript import {Client} from '@stomp/stompjs'; ``` 2. 在 Web Worker 中创建 STOMP 客户端对象并连接到消息代理: ```javascript const client = new Client({ brokerURL: 'ws://localhost:61614/stomp', connectHeaders: { login: 'user', passcode: 'password', }, reconnectDelay: 5000, heartbeatIncoming: 4000, heartbeatOutgoing: 4000, }); client.activate(); ``` 其中,`brokerURL` 是消息代理的 WebSocket URL,`connectHeaders` 是连接消息代理时的认证信息,`reconnectDelay` 是重连时间间隔,`heartbeatIncoming` 和 `heartbeatOutgoing` 是心跳检测参数。 3. 在 Web Worker 中监听消息代理的连接状态和消息: ```javascript client.onConnect = function(frame) { console.log('Connected: ' + frame); client.subscribe('/topic/test', function(message) { console.log('Received: ' + message.body); }); }; ``` 其中,`onConnect` 是连接成功后的回调函数,`subscribe` 是订阅消息的函数。 4. 在主线程中通过 `postMessage` 发送消息给 Web Worker: ```javascript const worker = new Worker('worker.js'); worker.postMessage({type: 'start', data: 'test data'}); ``` 其中,`worker.js` 是 Web Worker 的代码文件,`postMessage` 可以向 Web Worker 发送消息。 5. 在 Web Worker 中通过 `onmessage` 接收主线程的消息并处理: ```javascript self.onmessage = function(event) { if (event.data.type === 'start') { // 处理消息 } }; ``` 其中,`self.onmessage` 是 Web Worker 接收消息的回调函数。 需要注意的是,在 Web Worker 中处理 STOMP 消息时,需要使用 `self.postMessage` 向主线程发送处理结果,然后在主线程中处理接收到的消息。 总之,使用 `import {Client} from '@stomp/stompjs'` 时结合 Web Worker,需要在 Web Worker 中创建 STOMP 客户端对象并连接消息代理,然后在 Web Worker 中监听消息代理的连接状态和消息,并通过 `postMessage` 向主线程发送消息。在主线程中通过 `new Worker` 创建 Web Worker,然后通过 `postMessage` 向 Web Worker 发送消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值