wss作为客户端连接nginx代理的wss 就无法连接。链接别的wss 就可以正常链接。
求个大哥帮我看看。谢谢了。
wss 地址是: wss://apilist.tronscanapi.com/api/tronsocket/homepage
public function onWorkerStart($worker)
{
// ssl需要访问443端口 ,ws://toolin.cn:443/echo
$con = new AsyncTcpConnection('ws://apilist.tronscanapi.com:443/api/tronsocket/homepage');
// 设置以ssl加密方式访问,使之成为wss
$con->transport = 'ssl';
$con->onConnect = function (AsyncTcpConnection $conn) {
//dump($conn);
};
$con->onWebSocketConnect = function(AsyncTcpConnection $con) {
$con->send('ping');
};
$con->onMessage = function(AsyncTcpConnection $con, $data) {
print_r($data);
};
$con->onError = function($connection, $code, $msg){
print_r($code);
echo "error(错误): $msg\n";
};
$con->onClose = function($connection){
// 如果连接断开,1秒后重连
$connection->reConnect(1);
};
$con->connect();
}
找到原因了。 防火墙问题。通过webman 建立的wss服务。必须开启 443端口出站放行状态 不然无法访问自建的 wss 服务。