我正在尝试使用wss://
客户端的 -protocol 将我的 PHP WebSocket 库升级到 SSL。但是,我发现自己在试图弄清楚 a)如何设置服务器套接字,以及 b)如何解码传入的消息时不知所措。这是我目前对前者的尝试:
$context = stream_context_create();
// local_cert must be in PEM format
stream_context_set_option($context, 'ssl', 'local_cert', $pemFilePath);
// Pass Phrase (password) of private key
stream_context_set_option($context, 'ssl', 'passphrase', $pemPassPhrase);
stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
stream_context_set_option($context, 'ssl', 'verify_peer', false);
$serverSocket = stream_socket_server('ssl://'.$host.':'.$port, $errNo, $errStr, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context);
但是,当使用 SSL 作为服务器协议时,客户端似乎没有发送任何消息,并且在使用 tcp 时,我得到了奇怪的加密数据,尽管我猜测由于我提供了选项,它会被神奇地解密到流上下文。
我究竟做错了什么?