Commit 0dd97776 authored by shajiaiming's avatar shajiaiming

test

parent eb1c5912
<?php <?php
namespace console\controllers; namespace console\controllers;
use Workerman\Worker; use Workerman\Worker;
...@@ -67,22 +68,42 @@ class WorkermanWebSocketController extends Controller ...@@ -67,22 +68,42 @@ class WorkermanWebSocketController extends Controller
// Emitted when data received // Emitted when data received
$wsWorker->onMessage = function ($connection, $data) { $wsWorker->onMessage = function ($connection, $data) {
// ssl需要访问443端口 if ('binance' == $data) {
$con = new \Workerman\Connection\AsyncTcpConnection("ws://stream.binance.com:9443/ws/!ticker@arr"); $con = new \Workerman\Connection\AsyncTcpConnection("ws://stream.binance.com:9443/ws/!ticker@arr");
// 设置以ssl加密方式访问,使之成为wss $con->transport = 'ssl';
$con->transport = 'ssl'; $con->onMessage = function($con, $data) use($connection) {
// $con->onConnect = function($con) { $base_coin = [
// $data = json_encode([ 'ETH', 'BTC', 'USDT', 'BTC'
// 'sub' => 'market.btcusdt.kline.1min', ];
// 'id' => 'depth' . time() $result = json_decode($data, true);
// ]); $ticker = [];
// $con->send($data); foreach ($result as $val) {
// }; go(function () use ($val, $base_coin) {
\Co::sleep(0.5);
$con->onMessage = function($con, $data) use($connection) { foreach ($base_coin as $k => $coin) {
$connection->send(date("Y-m-d H:i:s") . ' : ' . $data); $explode_arr = explode($coin, $val['s']);
}; if (2 == count($explode_arr) && empty($explode_arr[1])) {
$con->connect(); $ticker[$k]['symbol'] = $explode_arr[0] . '/' . $coin;
$ticker[$k]['close'] = (float)sprintf("%0.4f", $val['c']);
$ticker[$k]['change'] = (float)sprintf("%0.4f", $val['p'] * 100);
$ticker[$k]['high'] = (float)sprintf("%0.4f", $val['h']);
$ticker[$k]['low'] = (float)sprintf("%0.4f", $val['l']);
$ticker[$k]['vol'] = (float)sprintf("%0.4f", $val['v']);
}
}
});
}
$connection->send(date("Y-m-d H:i:s") . ' : ' . json_encode($ticker));
};
$con->connect();
} elseif ('huobi' == $data) {
$connection->send('huobi');
} elseif ('okex' == $data) {
$connection->send('okex');
} else {
$connection->send('other');
}
}; };
// Emitted when connection closed // Emitted when connection closed
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment