workerman
首页
问答
分享
手册
市场
商业
AI客服系统源码
聊天系统源码
Webman AI
物联网
赞助商
webman
搜索
+
发布
提问
分享
webman插件
webman应用
登录
注册
问答
Gateway woker nginx wss 握手后发送数据服
务
端接收
不
到
#### bug描述 问题出现在服
务
器迁移后,客户端链接服
务
端提示握手成功(onopen)后,无后续,能接收到服
务
端的ping 但是客户端send过去的数据无法触发onmessage,打印getAllClientSessions
问答
webman作为接口服
务
器,有什么提供rpc服
务
的思路?
webman作为接口服
务
器使用,但是wap站需要大量调用,考虑通过用rpc的tcp协议来调用webman里的控制器接口方法。但是webman的onMassage的第二个参数只能接收request对象,
不
能接受文本和数组。请问有什么好的方法处理?同时也建议大神作者封装一个rpc服
务
端在里面。
文档
创建wss服
务
# 创建wss服
务
**问:** Workerman如何创建一个wss服
务
,使得客户端可以用过wss协来连接通讯,比如在微信小程序中连接服
务
端。端口可以根据需要修改) 5、nginx一般作为网站服
务
器运行着其它服
务
,为了
不
影响原来的站点使用,这里使用地址 ```域名.com/wss``` 作为wss的代理入口。开启SSL(
不
推荐) > **注意** > nginx/apache代理SSL和Workerman设置SSL二选一,
不
能同时开启。3、证书一般是与域名绑定的,所以测试的时候客户端请使用域名连接,
不
要使用ip去连。 4、如果出现无法访问的情况,请检查服
务
器防火墙。5、此方法要求PHP版本>=5.6,因为微信小程序要求tls1.2,而PHP5.6以下版本
不
支持tls1.2。
问答
远端电脑向服
务
器发送udp包,服
务
器这怎样获得远端电脑的ip呢?
客户端(sim卡)向服
务
器发送udp包,服
务
器这怎样获得远端电脑的真实ip和端口呢? 好像UDP数据包里就有真实ip和端口,
不
知道通过php怎么获得。如果通过客户端来发送真实ip和端口信息,
不
大理想。 谢谢!
问答
小程序使用gateway握手失败,返
回
502
bafanghui.xinnar.net/wss' failed: Error during WebSocket handshake: Unexpected response code: 502 监听返
回
的报错信息如下
问答
解决 Cannot assign requested address 问题
**原因:** 这种情况一般发
生
在高并发服
务
器上或者压测时会出现。 每个socket链接会占用本地一个端口,短链接使用毕后会立刻关闭,这时链接处于TIME_WAIT状态,本地的端口仍然被占用着。本地端口最多为6W个,如果在短时间内建立的大量的TCP短链接,本地端口会被TIME_WAIT迅速耗光,导致Cannot assign requested address **解决方法:开启端口快速
回
收
问答
gatewayworker传给worker的$data['ext_data'] 为什么
不
一定是最新的
#### 在 https://www.workerman.net/q/4854 这个问题的
回
答中,有说网关传的 $data['ext_data']
不
一定是最新的,想咨询一下具体是哪些情况下?
问答
Worker::$stdoutFile 无
效
Worker::$stdoutFile 设置了值 还是输出到了 屏幕上面  
文档
一键菜单
例如控制器位置指定为`/app/admin/controller/QuestionController.php`, 模型指定为`/app/admin/model/Question.php`则会在主项目
生
成如下的文件结构,可以将控件参数一同
生
成,避免再次开发。[img_21.png](img_21.png) # 特别注意 **默认情况下,一键菜单在主项目
生
成的文件没有鉴权,这意味着任何人都可以对这些文件发起访问,原因是由于项目与应用插件的配置是隔离的,应用插件配置的鉴权中间件
不
会对主项目产
生
作用为了让鉴权中间件
不
影响整个主项目,一键菜单
生
成的代码应该
生
成到一个特性应用下,例如`{主项目}/app/admin/`下,则`{主项目}/config/middleware.php`里的配置应该如下 ``webman/admin`解耦,自己admin相关的业
务
代码
不
会与`webman/admin`的代码参杂在一起,做版本控制代码迁移以及`webman/admin`升级都很方便。
问答
workerman 下Timer如何固定某个时间执行任
务
由于之前都是使用crontab实现定时任
务
,可以指定每一天几点执行任
务
, 后面发现workerman很好用,可以自己建多个workerman跑任
务
,每个任
务
做自己的业
务
, 有些场景也许是需要一分钟或者20秒跑一次,但对于数据同步需要延迟一天的, 我只需要每天凌晨1点执行一次,但
不
知道workerman支
不
支持固定时间执行任
务
的
文档
workerman/redis
成功返
回
1,key
不
存在返
回
0,发
生
错误返
回
false。如果成功移除则返
回
1,如果key
不
存在或者没有过期时间返
回
0,发
生
错误返
回
false。mSetNx仅在设置了所有键的情况下返
回
1。 成功返
回
1,失败返
回
0,发
生
错误返
回
false。存在返
回
1,字段
不
存在或者key
不
存在返
回
0,发
生
错误返
回
false。如果列表
不
存在,操作无
效
,返
回
0。 当列表存在但
不
是列表类型时返
回
false。
问答
循环发送信息的时候,出错send buffer full and drop package
循环发送信息的时候,出错send buffer full and drop package,是
不
是缓冲区满了?$request); $socket->send($request); } } //正式
生
产()); } }*/ }; //服
务
器响应,接收返
回
结果 $socket->onMessage = function($socket, $result) use($byname, $act_byname, $gdpay, $today,
问答
在windows系统,重启电脑后worker服
务
端断开问题
具体问题是这样,我在windows系统,通过注册服
务
方式 将worker服
务
端注册成服
务
然后设置开机自启,但是有个问题,每次电脑重启后,客户端就连
不
上服
务
端了,查看服
务
,服
务
是启动状态,就是客户端连
不
上服
务
端重启一下服
务
端,就能正常连接了。请问一下,这种现象一般都有哪些问题引起!
问答
求问服
务
器配置计算方式
求问,我这边物联网有3000台设备,每台设备每3分钟向服
务
器发送一次数据,我这边应该选择什么配置的服
务
器?我
不
太会算。
问答
请教如何在webman 控制器流式返
回
#### 问题描述 购买了 AI 插件基础版本,想把流式输出移植到自己的程序里面,现在发现客户端请求程序以后在控制台能正常输出响应,但是客户端 连接报错,无法流式返
回
,想请问下问题可能出在哪里 `json_decode($request->input('variable', ''), 1); } $msg = $request->input('msg', '简短
回
答你是谁
问答
官方demo跑
不
起来,
不
知道哪儿的问题?
[](//www.workerman.net/upload/20191119/195dd3bc519265.png) linux启动服
务
成功:  腾讯服
务
器端口放行: !
不
知道哪儿问题,,望大神指点!!!
问答
webman负载均衡方案配置问题
#### 打算使用多台服
务
器做负载均衡服
务
初步打算使用jenkins发布项目代码,在多台服
务
器上挂载NAS共享存储存放项目代码,用来解决保持文件一致性问题,jenkins构建时使用ssh免密登录执行但是使用NAS,多个服
务
器上的webman服
务
配置会冲突,例如server配置中的pid等,请问该如何解决?是否还有其他注意的
事
项?#### 为此你搜索到了哪些方案及
不
适用的原因 未找到相关解决方案
分享
分享一个多功能的验证器,可以对数据进行转换、验证、过滤
message:error code */ ```` *** ## 标签区: - **转换类的标签配合 filter()在output() 方法内
生
效
, 会对包含该标签的属性执行转换或者过滤操作** - **验证类的标签在 validate() 中
生
效
返
回
布尔值, 通过getError() 可以获得错误信息** |标签名|方式|类型| | @operator| true、func、method |转换| 键值特殊转换 | ### @default - 将该属性标记默认模式 - 当该属性值为null且具备@default标签时
生
效
name; public static function _set(){ return 'abc'; } ```` - **@default仅在output()输出时
生
效
,值为null $struct->name; // @default可以
生
效
,值为字符串John $struct()->name; ``` ### @required ```
文档
异常处理
如果请求期待是json返
回
,则返
回
的异常信息将以json格式返
回
,类似 ```json { "code": "500", "msg": "异常信息" } ``` 如果`app.debug# 业
务
异常 BusinessException 有时候我们想在某个嵌套函数里终止请求并返
回
一个错误信息给客户端,这时可以通过抛出`BusinessException`来做到这点。```json {"code": 3000, "msg": "参数错误"} ``` > **注意** > 业
务
异常BusinessException
不
需要业
务
try捕获,框架会自动捕获并根据请求类型返
回
合适的输出## 自定义业
务
异常 如果以上响应
不
符合你的需求,例如想把`msg`要改为`message`,可以自定义一个`MyBusinessException` 新建 `app/exception/MyBusinessException.php"参数错误"} ``` > **提示** > 因为BusinessException异常属于业
务
异常(例如用户输入参数错误),它是可预知的,所以框架并
不
会认为它是致命错误,并
不
会记录日志。
问答
【吐槽】最近写一些异步的服
务
发现测试用例也忒难写了
rabbitmq基础客户端Bunny在网络请求的时候使用的event-loop的add及timer,如果我需要mock或者捕获我的参数及结果的时候实在比较复杂,如果workerman的event-loop拥有基础
事
件,我能够注入一些
回
调函数来进行数据拦截的话可能会好一些;
不
知道workerman啥时候有空完善分享一下测试,也可能需要我有时间的时候先为workerman补充测试用例了; 测试用例有挺多的好处,比如在调整修改基础接口的时候可以清晰地知道我的本次修改是否可以向前兼容、是否满足我的预期,这样可以
不
用畏手畏脚地进行新特性的新增和旧功能的移除; 2.增加用于测试推演的拦截
事
件、增加内部的public接口,例如:撰写```_getEventLoop()```等内部接口方法,但该方法仅用于测试,而
不
作为开放接口堆外使用; 2.当然以上仅为一些吐槽和建议,因为在我看来,非死抠条款的约定有利于开源的发展及代码维护,
不
论 workerman官方在某一天是否还会继续维护,整个PHP开源社区都可以依照相应的约定继续 “接盘”,包括延申的周边产品都可以
« 上一页
1
...
81
82
83
84
85
86
87
88
...
465
下一页 »
« 上一页
84
下一页 »
赞助商
+成为赞助商
请作者喝咖啡
×
🔝