libwebsockets 服务端如何使用wss
时间: 2023-12-17 12:03:30 浏览: 30
使用libwebsockets作为服务端,可以通过以下步骤实现wss的使用:
1. 在服务器端生成SSL证书和密钥,可以使用自签名证书,也可以购买公共证书。
2. 在libwebsockets配置中添加SSL支持,可以参考官方文档的示例代码:
```
static const struct lws_protocols protocols[] = {
{
"my-protocol",
callback_function,
sizeof(struct per_session_data),
RX_BUFFER_SIZE,
},
{NULL, NULL, 0, 0}
};
static struct lws_context_creation_info info = {
.port = 8000,
.protocols = protocols,
.ssl_cert_filepath = "/path/to/ssl/cert.pem",
.ssl_private_key_filepath = "/path/to/ssl/key.pem",
.options = LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT,
.user = NULL,
.ka_time = 30,
.ka_probes = 10,
.ka_interval = 60,
};
// create the event loop and run it
struct lws_context *context = lws_create_context(&info);
```
其中,`ssl_cert_filepath`和`ssl_private_key_filepath`分别指定SSL证书和密钥的文件路径。
3. 在客户端使用wss时,需要在WebSocket的URL前面添加`wss://`前缀,例如:
```
var socket = new WebSocket("wss://example.com:8000");
```
这样就可以在libwebsockets服务端使用wss协议了。