【已解决】AsyncTcpConnection 重连机制,是否可以更改send的数据

0

最近在workerman里面使用AsyncTcpConnection作为客户端连接ws服务器。但是对方里面有一个签名规则,里面需要nonce(当前时间融入到签名里面),并且会检验nonce的时效性。
 
使用过程中,触发onClose重连的时候,发现里面send的订阅数据是刚启动时候的数据。这里有没有地方可以设置reConnect时发送的数据呢?不太懂如何处理?还是只能自己另外实现reConnect的方式了?
 
 


已解决,下面为调整的代码:


<?php
$apikey = 'xxxx';
$seckey = 'xxxx';
$params = 'xxxxx';

function create_sign ($apikey, $seckey, $params) {
$time = time();
$payload = $apikey . $nonce . $params;
return hash_hmac('sha256', $payload, $seckey, false);
}

//摘录部分
$worker->onClose = function ($wk) use ($apikey, $seckey, $params) {
$time = time();
$msg = json_enconde();
$wk->msg = $msg;
$wk->reConnect(5);
};
已邀请:

taozywu - http://athanb.com -- 做更好的自己!

赞同来自:

自己写一下逻辑吧

joker

赞同来自:

已经找到处理方式了,直接用一个全局变量,onClose里面修改这个变量之后,再调用reConnect

要回复问题请先登录注册