1 回复

ubuntu 服务器 启用gateway 不成功,显示如下,请问各位大佬这该如何解决

提问敖德萨 回复了问题 • 2 人关注 • 2020-07-25 15:14 • 来自相关话题

3 回复

workerman接收到的数据如何发送出去

提问yongdao35 回复了问题 • 5 人关注 • 2020-07-25 14:19 • 来自相关话题

1 回复

GatewayWorker为啥获取客户端ip是127.0.0.1?

提问yongdao35 回复了问题 • 2 人关注 • 2020-07-25 14:15 • 来自相关话题

1 回复

我想咨询下client_id的数量问题

提问walkor 回复了问题 • 2 人关注 • 2020-07-24 14:37 • 来自相关话题

1 回复

子进程因为某些无法捕获的错误导致不停的重启,该如何处理呢?

回复

提问JaguarJack 回复了问题 • 1 人关注 • 2020-07-24 11:39 • 来自相关话题

2 回复

gatewayworker,客户端连接服务端时好时坏

提问喵了个咪 回复了问题 • 2 人关注 • 2020-07-23 18:14 • 来自相关话题

5 回复

workrman作为客户端 连接提示 Sec-WebSocket-Accept not found

提问lurrui 回复了问题 • 3 人关注 • 2020-07-22 15:58 • 来自相关话题

1 回复

在什么情况下服务端会出现接收到重复的数据?

提问walkor 回复了问题 • 2 人关注 • 2020-07-22 10:52 • 来自相关话题

1 回复

websocket+tcp

提问walkor 回复了问题 • 2 人关注 • 2020-07-22 10:49 • 来自相关话题

3 回复

设备成功登陆,接受心跳指令时Gateway::isUidOnline($uid)判断不在线

提问ymb 回复了问题 • 4 人关注 • 2020-07-22 09:57 • 来自相关话题

2 回复

关于http协议下,restart -g时造成的进程每处理一条请求就退出的问题

提问blogdaren 回复了问题 • 3 人关注 • 2020-07-21 22:47 • 来自相关话题

2 回复

请教下单机65535端口限制问题,多机如何部署可以解决tcp连接次数限制问题?

提问blogdaren 回复了问题 • 2 人关注 • 2020-07-21 22:18 • 来自相关话题

1 回复

关于定时器阻塞的问题

提问q13113671764 回复了问题 • 2 人关注 • 2020-07-20 17:25 • 来自相关话题

2 回复

请问一下 workerman 如何能不用命令行启动?因为我使用的是阿里云虚拟主机,不能使用命令行

提问9raxdev 回复了问题 • 3 人关注 • 2020-07-20 10:32 • 来自相关话题

3 回复
1 回复

刷新页面后,接收不到消息的问题

提问six 回复了问题 • 2 人关注 • 2020-07-18 09:34 • 来自相关话题

1 回复

gatewayworker如何保留特定的client_id

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

1 回复

Gateway::setSession后,有删除对应的部分session的方法么

提问walkor 回复了问题 • 2 人关注 • 2020-07-17 21:17 • 来自相关话题

1 回复

webman session如何设置为不过期

提问walkor 回复了问题 • 2 人关注 • 2020-07-17 21:14 • 来自相关话题

4 回复

GatewayClient 如何发送二进制消息?

提问wwwoooshizha 回复了问题 • 3 人关注 • 2020-07-15 15:58 • 来自相关话题

2 回复

gatewayworker的 Gateway::sendToUid($senduid,json_encode($data));发送消息会有不稳定性!??

提问敖德萨 回复了问题 • 2 人关注 • 2020-07-15 15:28 • 来自相关话题

9 回复

协程版本Workerman,为Workerman插上协程的翅膀

第三方库wwwoooshizha 发表了文章 • 9 个评论 • 234 次浏览 • 2020-07-15 10:35 • 来自相关话题

序言 WarriorMan是一款php的协程高性能socket扩展,适合对 Workerman 有一定的了解的同学使用。 WarriorMan是什么 WarriorMan是一个完全用c语言编写的php扩展,按照 Worker ...查看全部

序言


WarriorMan是一款php的协程高性能socket扩展,适合对 Workerman 有一定的了解的同学使用。


WarriorMan是什么


WarriorMan是一个完全用c语言编写的php扩展,按照 Workerman手册 制作,解决Workerman的一些短板,为Workerman插上协程的翅膀。


作者希望


作者在这里希望大家可以尝试使用WarriorMan,尝试学习WarriorMan源码,源码中有大量中文注释,这对提升自己编程水平以及更好的理解Workerman和Swoole很有帮助。

如果在使用/学习中遇到任何问题,可以提issues或者在QQ群: 1098698769 中直接联系作者


WarriorMan与WorkerMan的不同


缺点


1 WarriorMan没有WorkerMan稳定,目前适合学习与尝试。

2 WarriorMan如果框架本身出现BUG,对于不懂PHP扩展调试的开发者,那么只能等待WarriorMan开发者们修复。


优点


1 Workerman是纯php实现的网络框架,WarriorMan是纯c实现的php扩展

2 Workerman的事件是基于异步回调的编码方式实现的,WarriorMan是协程同步的编码方式实现

3 Workerman的mysql客户端,redis客户端如果要实现非阻塞,依赖于基于异步回调的第三方库。而WarriorMan因为HOOK了PHP TCP Socket 类型的 stream,所以常见的RedisPDOMysqli以及用 PHP 的streams系列函数操作 TCP 连接的操作,都默认支持协程调度,减少了编程复杂度。


环境


PHP7 or Higher


安装


1 首先修改make.sh,将里面路径修改为自己php的路径
2 执行./make.sh
3 最后别忘了将workerman.so添加到php.ini

A tcp server


use Workerman\Worker;

Warriorman\Worker::rename(); // 为了防止命名空间冲突
Warriorman\Runtime::enableCoroutine(); // hook相关函数

$worker = new Worker("tcp://0.0.0.0:8080");

$worker->onMessage = function ($connection, $data) {
$responseStr = "hello world";
$connection->send($responseStr);
};

Worker::runAll();

文档


WarriorMan:https://www.kancloud.cn/wwwoooshizha/warriorman/content

WorkerMan:http://doc.workerman.net


交流


WarriorMan 交流QQ群: 1098698769


特别鸣谢


Workerman

Swoole

Study

2 回复

进程之间共享数据

提问liuzeming 回复了问题 • 2 人关注 • 2020-07-15 10:29 • 来自相关话题

1 回复

如何解决多个workmen程序在同一服务器部署出现的问题!

提问xiuwang 回复了问题 • 2 人关注 • 2020-07-15 10:18 • 来自相关话题

4 回复

gatewayworker如何实现硬件设备tcp与浏览器websocket互相通讯

提问敖德萨 回复了问题 • 3 人关注 • 2020-07-14 20:16 • 来自相关话题

4 回复

workerman如何接收json数据

提问xiuwang 回复了问题 • 2 人关注 • 2020-07-14 16:58 • 来自相关话题

2 回复

使用php think work:server 命令两次启动的不是同一个协议的服务

回复

提问哈哈哈啊 回复了问题 • 1 人关注 • 2020-07-14 16:20 • 来自相关话题

3 回复

服务端如何通过业务驱动的主动向服务端发送消息,而不是命令行呢

提问zhanchen 回复了问题 • 3 人关注 • 2020-07-14 13:24 • 来自相关话题

1 回复

使用workerman测试gateawayworker连接过慢

提问walkor 回复了问题 • 2 人关注 • 2020-07-14 10:41 • 来自相关话题

3 回复

请问有没有web-msg-sender的安卓链接示例

第三方库哈哈哈啊 回复了问题 • 2 人关注 • 2020-07-14 10:15 • 来自相关话题

1 回复

events里用orm类库,Model模块自动定位到了library下的Model不使用orm的Model导致报错

回复

提问yiarce 回复了问题 • 1 人关注 • 2020-07-14 09:17 • 来自相关话题

2 回复

TCP大端小端问题

提问walkor 回复了问题 • 3 人关注 • 2020-07-13 10:41 • 来自相关话题

2 回复

异步http请教

提问walkor 回复了问题 • 2 人关注 • 2020-07-13 10:06 • 来自相关话题

5 回复

怎样在onMessage里使用ThinkPHP的Db类访问数据库

提问adminppper 回复了问题 • 5 人关注 • 2020-07-11 19:29 • 来自相关话题

6 回复

使用GatewayClient和GatewayWorker不在同一台服务器上连接出现报错问题

提问yiarce 回复了问题 • 5 人关注 • 2020-07-11 17:11 • 来自相关话题

2 回复

workerman 运行在Windows服务器上 为什么cmd窗口有时候会卡在那?

提问scan_z 回复了问题 • 3 人关注 • 2020-07-11 10:26 • 来自相关话题

2 回复

启动GatewayWorker这个就报错 是什么情况呀?

提问scan_z 回复了问题 • 3 人关注 • 2020-07-11 10:22 • 来自相关话题

0 回复

安装扩展 event-2.5.6 产生错误,如何解决或者解决途径????

回复

提问meows 发起了问题 • 1 人关注 • 2020-07-10 21:18 • 来自相关话题

4 回复

GatewayWorker上线后出现高负载

提问six 回复了问题 • 2 人关注 • 2020-07-10 19:35 • 来自相关话题