服务端可以用自签名的ssl证书,示例如下:
<?php $server = new Swoole\Server('0.0.0.0', 9501, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL); $server->set(array( 'ssl_cert_file' => __DIR__ . '/config/ssl.crt', 'ssl_key_file' => __DIR__ . '/config/ssl.key', 'ssl_verify_peer' => true, 'ssl_allow_self_signed' => true, 'ssl_client_cert_file' => __DIR__ . '/config/ca.crt', ));客户端代码:
<?php $client = new Swoole\Client(SWOOLE_SOCK_TCP | SWOOLE_SSL); $client->set(array( 'ssl_cert_file' => __DIR__.'/ca/client-cert.pem', 'ssl_key_file' => __DIR__.'/ca/client-key.pem', 'ssl_allow_self_signed' => true, 'ssl_verify_peer' => true, 'ssl_cafile' => __DIR__.'/ca/ca-cert.pem', )); if (!$client->connect('127.0.0.1', 9501, -1)) { exit("connect failed. Error: {$client->errCode}\n"); } echo "connect ok\n"; $client->send("hello world-" . str_repeat('A', $i) . "\n"); echo $client->recv();
网友回复
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?