|
|
@@ -139,7 +139,7 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
|
|
|
|
|
|
// 向远处的服务器发送信息===========================================================
|
|
|
$connection_to_tcp = new AsyncTcpConnection('tcp://47.254.202.24:10009');
|
|
|
- // $connection_to_tcp = new AsyncTcpConnection('tcp://127.0.0.1:1235');
|
|
|
+ //$connection_to_tcp = new AsyncTcpConnection('tcp://127.0.0.1:1235');
|
|
|
|
|
|
$connection_to_tcp->onConnect = function($connection_to_tcp)
|
|
|
{
|
|
|
@@ -157,27 +157,44 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
|
|
|
global $index; //全局的变量
|
|
|
global $send_data; //全局的数据
|
|
|
global $send_order; //全局的订单号码
|
|
|
-
|
|
|
+ global $recv_buffer; //存储不完整的数据
|
|
|
global $rollback_data; //rollback数据
|
|
|
global $rollback_index; //rollback 管理数据序号
|
|
|
|
|
|
$bufExplode = explode("\r\n", $data); //通过指定的分隔符,把字符串打散为数组
|
|
|
foreach ($bufExplode as $key => $value) {
|
|
|
|
|
|
- $msg = json_decode($value, true); //对信息进行处理
|
|
|
- // 接口服务器返回的信息
|
|
|
+
|
|
|
+ if($value){
|
|
|
+ $msg = json_decode($value, true); //对信息进行处理
|
|
|
+ if(!$msg){
|
|
|
+
|
|
|
+ $recv_buffer.=$value; //把数据组装起来
|
|
|
+ $msg1 = json_decode($recv_buffer, true);
|
|
|
+ if($msg1){
|
|
|
+ $msg = $msg1;
|
|
|
+ }else{
|
|
|
+ continue; //解析的不对就跳出循环
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ continue; //信息不存在就跳出循环
|
|
|
+ }
|
|
|
+
|
|
|
+ // 接口服务器返回的信息
|
|
|
if ($msg['type'] == "get_order_record") { //查询订单状态
|
|
|
-
|
|
|
+ $recv_buffer = "";
|
|
|
sendToWebServer($msg);
|
|
|
|
|
|
}
|
|
|
if ($msg['type'] == "set_current_order") { //设置当前跟单订单
|
|
|
-
|
|
|
+ $recv_buffer = "";
|
|
|
sendToWebServer($msg);
|
|
|
|
|
|
}
|
|
|
|
|
|
if ($msg['type'] == "insert") { //Insert请求 (有数据库操作,插入)
|
|
|
+ $recv_buffer = "";
|
|
|
$index++; //将数据加一
|
|
|
$total = count($send_data); //总数据的长度
|
|
|
if($index < $total){
|
|
|
@@ -213,6 +230,7 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
|
|
|
|
|
|
}
|
|
|
if ($msg['type'] == "rollback") { //Rollback请求 (有数据库操作,插入并看看是否需要直接返回给前端)
|
|
|
+ $recv_buffer = "";
|
|
|
$rollback_index++; //将数据加一
|
|
|
$total = count($rollback_data); //总数据的长度
|
|
|
if($rollback_index < $total){
|
|
|
@@ -251,6 +269,7 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
|
|
|
}
|
|
|
|
|
|
if ($msg['type'] == "except_rollback") { //retry表中的Rollback请求 (有数据库操作,插入并看看是否需要直接返回给前端)
|
|
|
+ $recv_buffer = "";
|
|
|
if($msg['error_code']==-2){
|
|
|
log_file($msg['error_code']);
|
|
|
}else{
|
|
|
@@ -277,6 +296,7 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
|
|
|
|
|
|
|
|
|
if ($msg['type'] == "retry") { //Retry请求 (有数据库操作 0成功然后更新数据库 )
|
|
|
+ $recv_buffer = "";
|
|
|
if($msg['error_code']==-2){
|
|
|
return false;
|
|
|
}else{
|
|
|
@@ -292,6 +312,11 @@ $workerTcp->onWorkerStart = function ($workerTcp) {
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ if($msg['type']=="pong"){
|
|
|
+ $recv_buffer = "";
|
|
|
+ echo "12345\r\n";
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -400,7 +425,7 @@ function send_insert($data,$index=0,$order){
|
|
|
$send_data = $data[$index]; //将分割的数据交给全局变量
|
|
|
foreach ($send_data as $key => $value) {
|
|
|
$send_child['dest_login'] = $value['LOGIN']; //登录的账号
|
|
|
- $send_child['percentage'] = intval($value['BALANCE']/$value['step']); //手数
|
|
|
+ $send_child['percentage'] = $value['ladder']; //梯度
|
|
|
array_push($send['dest'],$send_child);
|
|
|
}
|
|
|
echo "发送的数据";
|