首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >libwebsockets客户端连接失败

libwebsockets客户端连接失败
EN

Stack Overflow用户
提问于 2016-09-25 18:54:43
回答 1查看 2.1K关注 0票数 2

我正在使用libwebsockets2.0,并且在试图将它作为客户端连接到服务器时遇到了一些问题。

根据libweb套接字日志,当我的简单客户端试图连接到echo.websocket.org时,会发生这样的情况。

代码语言:javascript
复制
[2016/09/25 19:22:56:9033] INFO: lws_header_table_attach: wsi 0x7fe32402a680: ah (nil) (tsi 0, count = 0) in
[2016/09/25 19:22:56:9034] INFO: lws_header_table_attach: wsi 0x7fe32402a680: ah 0x7fe3240078f0: count 1 (on exit)
[2016/09/25 19:22:56:9034] CLIENT: lws_client_connect: direct conn
[2016/09/25 19:22:56:9034] CLIENT: lws_client_connect_2
[2016/09/25 19:22:56:9034] CLIENT: lws_client_connect_2: address 
[2016/09/25 19:22:56:9044] ERR: getaddrinfo failed
Callback LWS_CALLBACK_CLIENT_CONNECTION_ERROR (1)
Connection error: (25) getaddrinfo (ipv4) failed

根据这个日志,它似乎说getaddrinfo失败了,但是上面的行(它应该输出libwebsocket连接到的地址)返回一个空字符串。

更奇怪的是,当我在Valgrind中运行我的测试代码时,一切看起来都很好:

代码语言:javascript
复制
[2016/09/25 19:46:17:7566] INFO: lws_header_table_attach: wsi 0x6714970: ah (nil) (tsi 0, count = 0) in
[2016/09/25 19:46:17:7598] INFO: lws_header_table_attach: wsi 0x6714970: ah 0x65b35c0: count 1 (on exit)
[2016/09/25 19:46:17:7665] CLIENT: lws_client_connect: direct conn
[2016/09/25 19:46:17:7670] CLIENT: lws_client_connect_2
[2016/09/25 19:46:17:7680] CLIENT: lws_client_connect_2: address echo.websocket.org
[2016/09/25 19:46:17:9511] DEBUG: insert_wsi_socket_into_fds: 0x6714970: tsi=0, sock=6, pos-in-fds=1

所有包含的示例/测试都工作得很好,所以我真的不知道我的问题出在哪里。

错误代码是这里 --我不确定这个问题是在我的代码中还是在库问题中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-26 15:27:09

今天我在思考我的代码,尝试一些随机的东西,看看它是否能解决这个问题。结果,我代码中的一个free导致了libwebsocket的问题:

代码语言:javascript
复制
char* address_internal = malloc(strlen(address) + 1);
memcpy(address_internal, address, strlen(address));

/*...*/

free(address_internal);

删除free(address_internal);可以使代码在瓦兰之外正确工作。

我猜问题是lws_parse_uri没有创建自己的内部副本,而文档没有明确提到这一点。奇怪的是,瓦伦丁没有注意到这一点,并以某种方式允许内存仍然被使用。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39690602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档