start_gateway.php
// 证书最好是申请的证书
$context = array(
// 更多ssl选项请参考手册 https://php.net/manual/zh/context.ssl.php
'ssl' => array(
// 请使用绝对路径
'local_cert' => '/www/wwwroot/GatewayWorker/server.pem', // 也可以是crt文件
'local_pk' => '/www/wwwroot/GatewayWorker/server.key',
'verify_peer' => false,
// 'allow_self_signed' => true, //如果是自签名证书需要开启此选项
)
);
// websocket协议(端口任意,只要没有被其它程序占用就行)
$gateway = new Gateway("websocket://0.0.0.0:9503", $context);
// 开启SSL,websocket+SSL 即wss
$gateway->transport = 'ssl';
js
//因为证书绑定域名,所以这里不能用ip连接,要用域名
var websocket = new WebSocket("wss://www.test.com:9503");
websocket.onopen = function (evt) {
console.log("WebSocket连接成功");
};
//接收服务器消息
websocket.onmessage = function (evt) {
console.log(evt.data)
}