大约六个月以来,我一直在运行一系列libwebsockets
客户端,这些客户端可以连接到各种服务。一切运行都比较顺利。
我一直在{x1}}之间的2.x行中的git commit上运行libwebsockets
。
以下设置或多或少与各种服务的规范匹配,并且可以与我的v2.x libwebsockets构建兼容:
afafc13
但是,当我针对struct lws_client_connect_info i
bzero(&i, sizeof (struct lws_client_connect_info));
i.protocol = "wss";
i.address = "ws.myservice.com
i.host = i.address;
i.port = 443;
i.path = "/";
i.ssl_connection = LCCSCF_ALLOW_SELFSIGNED;
i.protocol = protocols[0].name;
的{{1}}分支进行构建时, none 的客户端都连接到其服务,总是引用HTTP“升级”错误:
v3.1-stable
当我将端口号更改为80时
libwebsockets
然后 some 个我的客户端连接,显然成功地将HTTP连接“升级”到WS。但是其他人没有连接,并且没有给出错误消息。
在任何情况下,我都不能使用现有的LLL_WARN: lws_client_handshake: got bad HTTP response '400'
LLL_INFO: closing connection (prot MyClient) due to bail2 connection error: HS: ws upgrade response not 101
设置使用i.port = 80;
3.1-stable
构建来连接到服务,并且在任何情况下,现有设置都不能符合指定的各种规格通过各自的服务。
我对libwebsockets
标准不熟悉,因此当然有可能缺少一些技术性知识。但是,似乎我仍然应该能够使用给定的配置和任何最近的lws_client_connect_info
构建来连接到服务。
我想念什么?