定制协议错误数据清理问题

我自定义了一套协议,采用的TCP传输方式,协议主要作用是判断数据完整及有效性并进行初步处理转换成一个对象提交到ONMESSAGE里面去处理. 现在有一个问题,当我在INPUT里面判断出来BUFFER里面的数据帧头是错误的,不符合我的协议规范要求,这时我需要将BUFFER清空并返回0,表示清空缓冲区,不调用DECODE并等待下一帧数据的到达. 测试直接设置BUFFER=NULL无效,下一帧数据到达时会加上之前错误的数据...

深爱迷惘 发表与 2016-11-07 3470 浏览 3 回答
GatewayWorker 中,向一个 uid 发送会涉及到所有 Gateway?

看了一下源码,无论是向单个 uid,向群组还是向全部,都会向所有的 gateway 进程发送消息,如果是单个或者群组,每个 gateway 自己寻找当前进程中是否有指定用户的连接,然后向这个链接发送消息。 这样的话,假定连接数非常多,gateway 进程也很多,比如有 1000 个 gateway 进程,那每次向指定的一个人发送都会向这 1000 个进程发一次消息,然后只有其中一个进程会向用户发数据,而其它999个进...

pader 发表与 2016-11-07 3409 浏览 6 回答
如何模拟压力测试gateway worker保持在线的能力? 能够用workman模拟?

问题的提出: 昨天用脚本模拟客户端登陆在线。 使用C语言发送cjson等登陆以及ping/pong包。。服务器定义了每10秒会发一个ping包心跳。 然后使用脚本每秒循环一次调用这个客户端, 一共循环2000次。 发现在线的客户端到达2000左右, 经常会出现某些终端自动离线或者因为心跳超时被服务器踢掉的情况。 使用的是text的连接. 客户端脚本: #!/bin/bash clear rm test.log fo...

timfeng 发表与 2016-11-05 13596 浏览 7 回答
Worker::stopAll()后代码无法更新问题

经测试,在on回调中直接require或include的文件,可以在Worker::stopAll()后更新 但是在on回调引入的文件内再次require或include一个文件的话,这个文件的内容不会被Worker::stopAll()更新 请问是设计如此还是存在BUG,示例代码 $worker->onClose = function($connection){ echo '我都退出了你还不加载新代码...

sun2920989 发表与 2016-11-04 2971 浏览 3 回答
异步消息推送

使用Gatewayworker做了一个服务端,使用tcp协议和客户端进行通信,用于推送订单数据给店铺,一个店铺对应一个客户端。在redis中存储客户端的身份标识和client_id,然后thinkphp调用GatewayClient推送数据给相应的客户端。现在问题是这样的,如果某一个店铺同时收到了n个订单,Gatewayworker是不是会瞬间将这些订单推送给客户端呢?要想让客户端来得及反应,这时候是不是需要做异步消...

进击的班长 发表与 2016-11-03 3451 浏览 1 回答
exit with status 64000

请问这是因为什么。exit with status 64000。我是想在worker停止是将共享内存中的数据保存至临时文件,启动时加载临时文件中记录到内存中,但在停止的时候保存失败了。...

jacky 发表与 2016-11-02 11107 浏览 3 回答
我用GatewayWorker做webserver 关于XMLHttpRequest跨域问题

XMLHttpRequest cannot load “”“”. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '' is therefore not allowed access. 我在浏览器上面调试会出现这个问题 之前用ngix时候用header的设置一下 Access-Control-Al...

elvin226 发表与 2016-10-31 4233 浏览 1 回答
不能连接server

(以一种访问权限不允许的方式做了一个访问套接字的尝试。端口没有问题...

opjklu 发表与 2016-10-29 2573 浏览 1 回答
何时可以做过QQ一样的pc客户端,方便当做客服应用

如题,有没有客户端可下载...

admintest 发表与 2016-10-27 3093 浏览 2 回答
关于自定义协议中的$_SERVER使用

Gateway中,我学习http和websocket协议,在自定义协议decode中,将请求的一些数据处理后放到$_SERVER的,但是: 在onMessage中,却无法使用自定义的$_SERVER内容。 发现自定义协议中的$_SERVER和onMessage中的$_SERVER的内容完全不同。 不知道实现过程中,有什么问题...

jbking 发表与 2016-10-27 3108 浏览 1 回答
下载页面的gatewayworker怎么没有了

http://www.workerman.net/download这个页面,以前还能找到gatewayworker的下载,现在怎么找不到了?我还想找个windows版本跑一跑呢。...

tywali 发表与 2016-10-27 2914 浏览 3 回答
关于其它项目推送 验证是否具有推送的权限,和client的问题

GatewayClient/Gateway.php 。 。 。 /** 秘钥 @var string */ public static $secretKey = ''; 。 。 。 请问问下在哪验证这个seretkey了 还有 Gateway::sendToClient($client_id,'{"type":"say","content":"...

xuzili 发表与 2016-10-26 3135 浏览 1 回答
Gateway之WSS协议的Nginx+openssl的解决方案(生产环境配置分享)

自己在第一次使用过程中,搜索了N久,发现网上的资料不是很详细,现在自己已经搞定后,特把细节贴出来分享一下。 本人的生产环境: Centos6X + php56X + Nginx1.10 + openSSL 首先 Nginx的版本要高,尽量用当前最新稳定版本。 其次 WSS协议,是在HTTPS协议的基础上,进行协议升级,进行通讯的,所以先要保证你有一个 HTTPS正常的WEB站点。 所以,通过Nginx -V ...

yinjun 发表与 2016-10-26 4655 浏览 4 回答
<b>400 Bad Request</b><br>Invalid handshake data for websocket.

想学习一下gateway/BusinessWorker的部署,使用官方的聊天室源码,我去掉了web服务,修改了events,然后利用sockettool使用tcp协议链接链接gateway,onConnect和onClose都可以正常出发,但是一发数据就会提示<b>400 Bad Request</b><br>Invalid handshake data for websocket...

herdsman346 发表与 2016-10-25 6779 浏览 1 回答
workerman-statistics下的问题

workerman-statistics通过start.php开启了4个进程 start_worker进程是通过udp收集日志的,其它两个监听55858端口的进程一个start_finder进程,一个start_provider进程是用来干嘛的啊,有用吗...

1245332635 发表与 2016-10-25 3540 浏览 1 回答
长时间运行socket.io 占用内存一直增长

socket.io里面对mysql的增删改查 数据量不是很大 ,但是内存一直在增长, 跑了 5-6天 ,内存涨到 200M 差不多几十个链接 问下walkor这个是业务逻辑的问题么?...

mazhaozi 发表与 2016-10-25 4696 浏览 3 回答
一个物联网的项目准备使用workerman,有部分不了解,请教

手上有个物联网的项目,应用场景如下:全国各地部署了很多计量表具(GPRS上传数据),现在需要制作一套管理系统,实现对这些表具的管理,核心部分有这些要求 1 制作一个展示及管理界面 (以下简称A) (这个没有问题,也与Workerman无关) 2 计划采用Workerman TCP 长连接模式来管理这些 GPRS客户端(以下简称B) 现在有些没弄明白的地方 1 每次服务器启动是否都需要命令行启动Workerman编写的...

huboy 发表与 2016-10-24 6248 浏览 3 回答
返回值如何使用二进制传输

我现在用websocket的协议 在客户端看返回值是明文的 我想问一下 在哪里可以调整变成二进制传输 就是我想在返回值得时候也用无符号整形数组那种形式 我应该怎么操作呀 就是在客户端我接收到的是ArrayBuffer类型的数据 ...

elvin226 发表与 2016-10-24 3848 浏览 1 回答
自定义协议长链接的问题

自定义了一个通讯协议,在Gateway中使用,但是发生一个问题,请指教: 看上去协议工作正常,而且相关消息处理过程也工作正常 客户端会不停的向服务器发送心跳包,较长一段时间后,出现了“failed to open stream: Too many open files ”的错误警告 此时只有一个连接的 没有数据库或其他缓存操作 不知道,出现这种情况,我应该从什么地方开始找问题...

jbking 发表与 2016-10-24 2636 浏览 3 回答
Gayeway 连上之后的心跳设置

// 心跳间隔 $gateway->pingInterval = 20; $gateway->pingNotResponseLimit=2; 测试设备连上Gateway之后不发任何数据什么时候断的问题 现在是不管怎么设置pingNotResponseLimit设备在连上Gayeway之后不发数据 都是1分钟服务器把设备断开的 怎么设置设备连上Gateway之后不发数据断开的时间间隔呢? 设置成上面的20...

workman 发表与 2016-10-24 4297 浏览 1 回答

walkor

151351
积分
0
获赞数
0
粉丝数
2014-05-04 加入
×
🔝