我想用workerman作為客戶端去訂閱其他網(wǎng)站的信息,那邊有數(shù)據(jù)就會向我發(fā)送消息,但是一直沒有信息。
linux鏈接一段時間后就會關閉。
require_once __DIR__ . '/../Workerman/Autoloader.php';
use Workerman\Connection\AsyncTcpConnection;
use Workerman\Worker;
$worker = new Worker('text://0.0.0.0:6161');
$worker->onWorkerStart = function ($worker) {
// ssl需要訪問443端口
$access_token = '15793664';
$subscription_id = '5114dee2-eadc-4c47-bf82-6a251e04b10e';
$url = 'ws://ws.abiosgaming.com/v0?access_token=' . $access_token . '&subscription_id=' . $subscription_id;
$port = '443';
echo $url . ':' . $port;
$con = new AsyncTcpConnection($url . ':' . $port);
// 設置以ssl加密方式訪問,使之成為wss
$con->transport = 'ssl';
$con->onConnect = function ($con) {
$content='鏈接成功';
echo $content;
error_log(print_r($content, 1), 3, '/home/workerman/output.log');
};
$con->onMessage = function ($con, $data) {
var_export($data);
error_log(print_r($data, 1), 3, '/home/workerman/output.log');
};
$con->onClose=function ($con){
$content='關閉連接';
echo $content;
error_log(print_r($content, 1), 3, '/home/workerman/output.log');
};
$con->connect();
};
我這測試了下,成功了?
輸出了?ws://ws.abiosgaming.com:443/v0?access_token=15793664&subscription_id=5114dee2-eadc-4c47-bf82-6a251e04b10e:鏈接成功
<?php
require_once __DIR__ . '/../Workerman/Autoloader.php';
use Workerman\Connection\AsyncTcpConnection;
use Workerman\Worker;
$worker = new Worker('text://0.0.0.0:6161');
$worker->onWorkerStart = function ($worker) {
?? // ssl需要訪問443端口
?? $access_token = '15793664';
?? $subscription_id = '5114dee2-eadc-4c47-bf82-6a251e04b10e';
?? $url = 'ws://ws.abiosgaming.com:443/v0?access_token=' . $access_token . '&subscription_id=' . $subscription_id;
?? echo $url;
?? $con = new AsyncTcpConnection($url);
?
?? // 設置以ssl加密方式訪問,使之成為wss
?? $con->transport = 'ssl';
?
?? $con->onConnect = function ($con) {
? ? ? $content='鏈接成功';
? ? ? echo $content;
? ? ? error_log(print_r($content, 1), 3, '/home/workerman/output.log');
?? };
?
?? $con->onMessage = function ($con, $data) {
? ? ? var_export($data);
? ? ? error_log(print_r($data, 1), 3, '/home/workerman/output.log');
?? };
?
?? $con->onClose=function ($con){
? ? ? $content='關閉連接';
? ? ? echo $content;
? ? ? error_log(print_r($content, 1), 3, '/home/workerman/output.log');
?? };
?
?? $con->connect();
};
Worker::runAll();