1 回复

我用ab 压测workerman n1000 c100 都lost很多 ,为什么别人压测数据那么高

提问yongdao35 回复了问题 • 2 人关注 • 2020-01-04 10:36 • 来自相关话题

1 回复

客户端之间无法通讯

回复

提问workerman浅香 回复了问题 • 1 人关注 • 2020-01-03 21:18 • 来自相关话题

1 回复

workman 如何部署集群的

提问blogdaren 回复了问题 • 2 人关注 • 2020-01-03 18:17 • 来自相关话题

2 回复

tcp与websocket如何选择

提问blogdaren 回复了问题 • 2 人关注 • 2020-01-03 17:30 • 来自相关话题

0 回复

Workman 访问数据日志中,有很多条类似 Cookie: mstshash=Administr 的数据,请问这是什么问题

回复

提问YuYan 发起了问题 • 1 人关注 • 2020-01-03 16:54 • 来自相关话题

1 回复

Call to a member function add() on null

提问xiuwang 回复了问题 • 2 人关注 • 2020-01-03 12:18 • 来自相关话题

1 回复

php start.php start -d 启动后出现问题 请问下这是什么问题

提问xiuwang 回复了问题 • 2 人关注 • 2020-01-03 09:35 • 来自相关话题

1 回复

Gatewayworker 如何跟外网服务器部署

提问blogdaren 回复了问题 • 2 人关注 • 2020-01-02 23:43 • 来自相关话题

1 回复

workman mqtt 链接阿里云的 mqtt服务

回复

提问anxin 回复了问题 • 1 人关注 • 2020-01-02 18:11 • 来自相关话题

1 回复

GlobalData组件无法在不同的客户端中共享变量?

回复

提问adminppper 回复了问题 • 2 人关注 • 2020-01-01 13:11 • 来自相关话题

2 回复

Error: Call to a member function send() on null in

提问walkor 回复了问题 • 3 人关注 • 2020-01-01 11:16 • 来自相关话题

1 回复

gatewayworker连接mysql问题

提问blogdaren 回复了问题 • 2 人关注 • 2019-12-31 23:44 • 来自相关话题

4 回复

开始wss服务会自动关闭连接

提问benjamin 回复了问题 • 2 人关注 • 2019-12-31 17:33 • 来自相关话题

3 回复

关于多个页面同时打开 会发送多次消息给客户端的问题

提问天道酬勤 回复了问题 • 2 人关注 • 2019-12-31 16:35 • 来自相关话题

0 回复

服务启动,浏览器输入端口能接通,使用vue报错,有什么方法可以链接?

回复

提问朱某 发起了问题 • 1 人关注 • 2019-12-31 15:02 • 来自相关话题

1 回复

有关于Channel服务器与GlobalData服务器

提问walkor 回复了问题 • 2 人关注 • 2019-12-31 10:20 • 来自相关话题

2 回复

gatewayworker session的问题,有时候可以创建成功,有时候不能

提问xiuwang 回复了问题 • 3 人关注 • 2019-12-31 09:58 • 来自相关话题

1 回复

gatewayworker每次重启,client_id都是从固定的1开始

提问梁大胖 回复了问题 • 2 人关注 • 2019-12-31 04:57 • 来自相关话题

3 回复

让windows开发支持代码热更新,workerman-filemonitor for windows

分享lxping 发表了文章 • 3 个评论 • 127 次浏览 • 2019-12-31 02:05 • 来自相关话题

workerman-filemonitor只能用于linux,但是我们平时开发都是用的windows。基于workerman-filemonitor二次修改,可完美实现windwos开发时的代码热更新。 经过测试,windows下不能直接在file ...查看全部

workerman-filemonitor只能用于linux,但是我们平时开发都是用的windows。基于workerman-filemonitor二次修改,可完美实现windwos开发时的代码热更新。


经过测试,windows下不能直接在filemonitor启动的进程中获取我们需要的父进程,所以需要在你启动的gateway文件中添加如下代码(该代码一定要放在Worker::runAll()之前)


require_once __DIR__ . '/FileMonitor.php';
new FileMonitor($web, 'www', 5);

FileMonitor.php


<?php

use \Workerman\Worker;
use \Workerman\Lib\Timer;

/**
* workerman-filemonitor for windows
*
* 监控文件更新并自动reload workerman
*
* 使用方法:
* require_once __DIR__ . '/FileMonitor.php';
* new FileMonitor($worker, $dir, $timer);
*/
class FileMonitor
{
//待监听的项目目录
private $_monitor_dir = '';

//热更新间隔时间,默认3s
private $_interval = 0;

//最后一次同步时间
private $_last_time = 0;

function __construct ($worker, $dir, $timer = 3)
{
// watch Applications catalogue
$this->_monitor_dir = __DIR__ .'/'. $dir;

$this->_interval = $timer;

$this->_last_time = time();

// Emitted when data received
$worker->reloadable = false;

// Emitted when data received
$worker->onWorkerStart = function()
{
// watch files only in daemon mode
if (Worker::$daemonize === false)
{
// chek mtime of files per second
Timer::add($this->_interval, [$this, 'monitor']);
}
};
}

//监听器,kill进程
public function monitor ()
{
// recursive traversal directory
$iterator = new RecursiveDirectoryIterator($this->_monitor_dir);
$iterator = new RecursiveIteratorIterator($iterator);

foreach ($iterator as $file)
{
// only check php files
if (pathinfo($file, PATHINFO_EXTENSION) != 'php') continue;

// check mtime
if ($this->_last_time < $file->getMTime())
{
exec('taskkill -f -pid '. getmypid());
$this->_last_time = $file->getMTime();
return true;
}
}
}
}
0 回复

让start_for_win.bat自动识别start文件

分享lxping 发表了文章 • 0 个评论 • 103 次浏览 • 2019-12-31 01:55 • 来自相关话题

把gatewayworker示例文件start_for_win.bat替换为如下代码,即可自动识别项目中的start_开头的php文件,仅限windows。 代码中的YourApp为你的项目文件夹 @echo off set ...查看全部

把gatewayworker示例文件start_for_win.bat替换为如下代码,即可自动识别项目中的start_开头的php文件,仅限windows。


代码中的YourApp为你的项目文件夹


@echo off
setlocal enabledelayedexpansion
set app=Applications\YourApp
for /f "delims=" %%i in ('dir %app%\start_*.php /b') do (
set FILES=!FILES! %app%\%%i
)
php !FILES!
pause
1 回复

用workerman 做视频直播 怎么做啊?

提问adminppper 回复了问题 • 2 人关注 • 2019-12-31 01:09 • 来自相关话题

1 回复

客户端发送心跳后被服务器端拒绝

提问adminppper 回复了问题 • 2 人关注 • 2019-12-31 01:08 • 来自相关话题

1 回复

getAllClientSessions方法无法正确获取session

回复

提问alex343136121 回复了问题 • 1 人关注 • 2019-12-30 21:35 • 来自相关话题

2 回复

如何用一台闲置电脑处理业务?

提问six 回复了问题 • 3 人关注 • 2019-12-30 16:21 • 来自相关话题

3 回复

Network Error 12030, 与服务器的连接意外终止,IE 9浏览器

提问dignfei 回复了问题 • 4 人关注 • 2019-12-30 11:34 • 来自相关话题

2 回复

workerman启动失败

提问智佳思远 回复了问题 • 2 人关注 • 2019-12-30 10:49 • 来自相关话题

0 回复

Windows下报错SendBufferToWorker fail.

回复

提问MartyZane 发起了问题 • 1 人关注 • 2019-12-29 10:17 • 来自相关话题

1 回复

AsyncTcpConnection连接wss出现unknown protocol错误

提问walkor 回复了问题 • 2 人关注 • 2019-12-27 17:46 • 来自相关话题

1 回复

workerman 长连接怎么每几秒主动给服务端发送一次数据呀

提问taozywu 回复了问题 • 2 人关注 • 2019-12-27 17:06 • 来自相关话题

1 回复

请教各位大神,GatewayWorker前端发送失败的时候如何捕获异常呢

提问taozywu 回复了问题 • 2 人关注 • 2019-12-27 16:32 • 来自相关话题

1 回复

请问,我在自己定制通讯协议的时候,该怎么测试input()方法呢

提问blogdaren 回复了问题 • 2 人关注 • 2019-12-27 16:26 • 来自相关话题

1 回复

在liunx启动报错 .

提问blogdaren 回复了问题 • 2 人关注 • 2019-12-27 14:16 • 来自相关话题

1 回复

workerman 如何在web端页面进行开启和停止服务?包括如何监控是否运行成功?

提问blogdaren 回复了问题 • 2 人关注 • 2019-12-26 23:54 • 来自相关话题

1 回复

TCP读取为空的问题

提问walkor 回复了问题 • 1 人关注 • 2019-12-26 17:06 • 来自相关话题

0 回复

不使用GatewayWorker怎么实现群聊?

回复

提问linye271709915 发起了问题 • 1 人关注 • 2019-12-26 16:17 • 来自相关话题

1 回复

Workerman\Http\Client() 最大可同时发起多少个http请求?

提问walkor 回复了问题 • 2 人关注 • 2019-12-26 15:55 • 来自相关话题

1 回复

请教个问题,workerman里面用的wss协议,如果证书过期了,还能正常使用吗

提问yongdao35 回复了问题 • 2 人关注 • 2019-12-26 14:21 • 来自相关话题

1 回复

同一个进程中多个timer是异步的还是阻塞的呢?

提问xiuwang 回复了问题 • 2 人关注 • 2019-12-26 10:59 • 来自相关话题

1 回复

在gateway中 onWebSocketConnect 事件中HTTP_ORIGIN来源没有获取到客户端真实的来源

提问xiuwang 回复了问题 • 2 人关注 • 2019-12-26 10:18 • 来自相关话题

1 回复

BusinessWorker::onGatewayMessage SESSION、setSession、updateSession逻辑问题

建议walkor 回复了问题 • 2 人关注 • 2019-12-25 17:03 • 来自相关话题