php socket wss,websocket客户端无法建立wss连接

在尝试使用swoole编译时启用openssl并配置wss连接时,遇到客户端无法连接的问题。日志显示在连接过程中存在SSL相关错误,提示bad SSL client和SSL not ready。同时,还有ws连接的警告信息,表明可能存在连接验证或配置问题。
摘要由CSDN通过智能技术生成

hi,我在编译swoole时加入了--enable-openssl,也在websocket_server.php中开启了open_ssl选项,但是客户端仍然无法连接到wss,以下是日志:

{ { {

[/root/swoole/swoole-src-swoole-1.7.21-stable/src/reactor/ReactorPoll.c:245@swReactorPoll_wait]Event: fd=5|from_id=1|type=11

[/root/swoole/swoole-src-swoole-1.7.21-stable/src/reactor/ReactorPoll.c:245@swReactorPoll_wait]Event: fd=6|from_id=1|type=1

[/root/swoole/swoole-src-swoole-1.7.21-stable/src/network/Server.c:131@swServer_master_onAccept][Master] Accept new connection. maxfd=8|reactor_id=1|conn=9

[/root/swoole/swoole-src-swoole-1.7.21-stable/src/factory/FactoryProcess.c:261@swFactoryProcess_finish][Worker] send: sendn=12|type=4|content=(null)

[/root/swoole/swoole-src-swoole-1.7.21-stable/src/network/ReactorThread.c:264@swReactorThread_close]Close Event.fd=9|from=0<

WebSocket是一种在单个TCP连接上进行全双工通信的协议,它允许服务器主动向客户端推送信息。创建WebSocket客户端和服务端来建立连接,通常涉及以下步骤: 1. **WebSocket服务端创建**: - 首先,需要选择一个支持WebSocket的服务器端语言和框架,比如Node.js、Java、Python等。 - 在服务器端,使用相应的库或框架提供的API创建WebSocket服务,监听一个端口来接收来自客户端连接请求。 - 一旦有客户端连接,服务器就可以根据需要向客户端发送消息。 2. **WebSocket客户端创建**: - 在客户端(例如浏览器中的JavaScript),同样需要使用WebSocket相关的API来建立与服务端的连接。 - 通过指定服务端的WebSocket URL来初始化一个WebSocket连接。 - 客户端连接建立后,可以监听服务端发来的消息,并可以发送消息到服务端。 3. **消息的发送与接收**: - 在服务端和客户端建立连接后,双方都可以发送消息。 - 客户端可以使用`socket.send()`方法发送消息到服务端,服务端也可以使用类似的方法发送消息到客户端。 - 双方都需要监听消息事件来接收对方发送过来的数据。 4. **连接的关闭**: - 当不再需要连接时,可以通过调用`socket.close()`方法来关闭WebSocket连接。 下面是一个简单的示例: **Node.js WebSocket服务端示例代码**: ```javascript const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8080 }); wss.on('connection', function connection(ws) { ws.on('message', function incoming(message) { console.log('received: %s', message); ws.send('echo: ' + message); }); ws.send('Hello Client!'); }); ``` **HTML5 WebSocket客户端示例代码**: ```html <!DOCTYPE html> <html> <head> <title>WebSocket Client</title> </head> <body> <script> var socket = new WebSocket('ws://localhost:8080'); socket.onmessage = function(event) { var message = event.data; console.log('received: %s', message); }; socket.onopen = function(event) { socket.send('Hello Server!'); }; </script> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值