workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
分享
PHP编译器BPC编译实战: workerman/
GatewayWorker
**其中在线聊天功能是基于 workerman/
GatewayWorker
实现的.** 整个项目(OurATS+小程序后端+在线聊天)都使用PHP开
发
,交付给客户时,经BPC编译成.so和elf可执行文件部署到客户的服务器上BPC不支持的语法特性可以使用 [phptobpc](https://github.com/bob-php-compiler/phptobpc)
进
行转换,如果 [phptobpc](https://github.comBPC当前不支持的扩展一般不是大问题,因为BPC的扩展开
发
是比较容易的. 5.目前BPC及其编译产物仅在 ubuntu 18.04 amd64 上完善测试过,在其它linux
发
行版上有可能能运行,大概率会遇到问题.但这并不是说BPC无法在其它
发
行版上运行,我曾在自己的 CubieBoard在编译的场景下, `__DIR__` 的语义
发
生了变化,所以涉及到读写文件的`__DIR__`都需要调整一下. 2.
问答
作为Websocket客户端时,如何接收其他程序的调用?
客户端,从而和Websocket服务端
进
行交互。; }; $worker2 = new Worker(); $worker2->onWorkerStart = function($worker2){ // 开启一个内部端口,方便内部系统推
送
数
据
,里面有uid,表示向那个uid的页面推
送
数
据
$data = json_decode($buffer, true); $uid = $data['uid'];// 推
送
的
数
据
,包含uid字段,表示是给这个uid推
送
$data = array('uid'=>'uid1', 'percent'=>'88%'); //
发
送
数
据
,注意5678端口是Text协议的端口,Text协议需要在
数
据
末尾加上换行符 fwrite($client, json_encode($data)."
问答
如何使用定时器功能,每间隔一段时间,给用户
发
送
消息
如何使用定时器功能,每间隔一段时间,给用户
发
送
消息 能详细讲解下吗 我看你的代码没看太明白呀
问答
workerman/mqtt
workerman/mqtt
发
布者方法中怎样写 可以实现浏览器直接访问 推
送
订阅
数
据
文档
发
布插件
#
发
布 开
发
者可以将自有版权的插件上传到应用市场,帮助他人的同时也能获得受益。
发
布地址 https://www.workerman.net/app/create 注意:
发
布时填写的**版本号**应该与`plugin/{插件}/config/app.php`中版本号一致 ##上架限
制
**不支持以下类型应用上架** **金融类** 包括但不限于聚合支付、返利、借贷、拍卖、
数
字币、区块链 **棋牌类** 包括但不限于抽奖、夺宝、牛牛、点卡等 **采集类** 包括但不限于小说
问答
在
gatewayWorker
中如何使用浏览器端
进
行
数
据
的收
发
,使用js 的websocket吗,有没有示例代码
我看协议使用的是tcp协议,但是js 中websocket使用的是 ws:// ,应该怎么办呢????
问答
邮件服务器的方案
主要是邮件的服务端 接收 和
发
送
有大佬做过的吗或者有思路。指点一
二
。
问答
GatewayWorker
遇到的一个自动更新奇怪的问题
线上
GatewayWorker
持续运行中,今天提交了一些新代码,没有重启服务,也没有文件监控reload服务,按理说新提交的代码不会生效,但是看自定义的一些日志记录,有一部分居然是新代码才有的日志,说明某些
进
程更新了我提交的代码,我看workerman.log 里面也没有报错或者
进
程重启的记录,
GatewayWorker
启动后不是常驻内存的吗?* ps 里面的相关
进
程lstart 时间都早于我提交代码的时间
问答
TcpConnection中,baseRead读取
数
据
原理问题
如标题,TcpConnection中,baseRead里面获取当前
数
据
包长度之后,这里有一个判断: $this->_currentPackageLength > strlen($this->_recvBuffer
问答
第三方框架做的后端项目使用
GatewayWorker
IOS端如何链接到
GatewayWorker
并取到$client_id
我启动了
GatewayWorker
```sh ----------------------- WORKERMAN ----------------------------- Workerman4 xxxx Register text://0.0.0.0:1238 1 ``` 就是不知道IOS端如何接
进
来要
进
那个Listen 还是要单独去开一个Websocket协议的端口 求教,不知道要如何和IOS端的同事交流接入了
问答
GatewayWorker
在tp和laravel中占用的内存有差异
####
GatewayWorker
在tp和laravel中占用的内存有差异 这是用tp的command启动中的状态 !还有就是同样的代码搭建了好几个项目,BusinessWorker
进
程内存不会无缘无故增长。但是有一个项目中的BusinessWorker
进
程内存一直在增长这是什么原因?排查了好久也没有
发
现什么问题,业务层代码删掉了也还增长。
问答
gatewayworker
作游戏服务器的话, reload似乎没啥用!!
一般情况下,游戏服务器都会需要处理玩家
数
据
,所以内存里必然保留了一些
数
据
的,如果用reload去让修改的代码生效,因为会先onWorkerStop,再调用onWorkerStart,虽然客户端与gate间的连接并不会断开,但是处理业务的worker被stop并start后,子
进
程中的内存
数
据
难道还会存在吗? 除非你这个reload是仅仅让修改的代码生效,但是内存中的
数
据
都不变!
问答
webman 打包成phar后,自定义命令中获取不到
数
据
库配置
自定义命令中执行查询
数
据
库操作,提示错误`SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO) ` 调试
发
现自定义命令中并未获取到.env中的配置。
问答
webman/push插件,后端api推
送
数
据
后总感觉链接是一直挂起的从不减少
#### 问题描述 后端推
送
使用的是3236端口  推
送
代码 !
分享
简单快速的“ORM”框架,基于PHP和PDO的
数
据
库中间层
## 简介 一个简单、快速的基于PHP和PDO的
数
据
库中间层 使用Laravel ORM和ThinkORM,感觉不好用,把Svick框架里面的ORM抽离出来搞了一个 ## 项目地址 https://gitee.com/tomener/svickorm ## 安装 `composer require tomener/svickorm` 安装后将自动生成 config/svickorm.php
数
据
库配置文件,开
发
者需要根
据
实际情况手动更改
数
据
库配置。##
数
据
库 ```php <?) { $id = $request->getInt('id'); $p = $request->getInt('p', 1); //查询一条
数
据
问答
使用模型查询报
数
据
库连接错误,db可以
#### 问题描述
数
据
库使用Db查询没有问题 但是使用模型,会报
数
据
库连接错误 #### 程序代码 ``` $goods = Good::where('id', $this->goods_id
问答
只要更新了代码,webman第一次响应都很慢
第一次访问会非常的慢 #### 问题描述 这里写问题描述 下载的新框架,没有任何业务内容,只安装了一个异常处理类插件 只要更新了任何一点代码,甚至一个空格,那么第一次请求会非常慢,慢到夸张 在控
制
器打印了时间,
发
现确实是,要非常久的时间才
进
入得了控
制
器 不知道为什么?浏览器里也是一样,每次动了一点点代码,第一次请求都是30s起步 首先我能确定,我没有连接
数
据
库,那个
数
据
库插件我还没安装 环境是 windows + 虚拟机centos7 .虚拟机和windows做的目录映射
问答
[已解决]创建一个http服务用file_get_contents访问没有
数
据
返回
#### 问题描述 创建一个http服务,在浏览器访问很快就有
数
据
返回 在代码里用 file_get_contents('http://127.0.0.1:8092');访问,没有
数
据
返回 ```
问答
webman明明还有空闲子
进
程,为什么接收到新请求时却分配不到空闲
进
程
进
程(webman子
进
程) 客户端(
发
起请求的IP+
发
起请求时所使用的端口号) 经过测试
发
现一个现象,webman在处理请求时,似乎会把该
进
程和客户端做一个绑定关系,该客户端下次
发
起请求时,webman会用该客户端上一次使用过的子
进
程
进
行处理; 这样就会出现一个问题,可能这一个子
进
程绑定了多个客户端,假设该子
进
程在处理某一次请求时耗时30秒钟,在此期间与该子
进
程绑定的客户端
发
起新的请求就都会阻塞住((就像php-fpm那样,一个子
进
程只处理一个请求,请求结束后
进
程销毁,这样就不会因为一个请求影响到另外一个请求) 同时
发
起10个请求,其中端口42610
发
起的请求被分配到了子
进
程12086上面(12806app\Server::class, 'listen' => 'http://0.0.0.0:8686', 'count' => 500, // 启动
进
程
数
server
进
程
数
,并
发
高的时候增加config/process.php 里server
进
程的count启动
进
程
数
量就行
问答
GatewayWorker
在work回调中使用内部协议?
场景:app端链接到socket服务器端后,需要在别的项目(php项目)处理这个
数
据
,然后再推
送
给app端。也就是双向通信 问题:如何实现呢?难道不能开启一个内部协议?
« 上一页
1
...
102
103
104
105
106
107
108
109
...
445
下一页 »
« 上一页
105
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝