libwebsockets无法正确地将数据重新发送或发送到hitbox.tv的websocket

时间:2015-01-26 22:39:33

标签: sockets websocket

您好,我一直在努力解决如何使用libwebsocket处理Web套接字连接的问题。到目前为止,它已经证明是令人沮丧的,因为它看起来像是在发送数据但它没有或没有按照他们想要的方式发送和丢弃。

到目前为止,我所做的所有程序都是连接和来回ping,并尝试将json文件发送到其服务器上的Web套接字。我遇到的问题是我是否已将所有设置都设置为客户端,我将如何知道我是否正确发送数据或者只是简单地说我做错了什么我不知道。如果你能帮助我那会很棒。这里是我遇到问题的代码,目前一直在试图解决这个问题超过一周......

我已经改变了几次尝试弄清楚什么是错误的。

http://pastebin.com/jdHbicUi 我将代码粘贴在pastebin中,因此您更容易查看。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

对于那些遇到麻烦的人来说,修复很容易。问题是发送的数据需要在两端正确缓冲。

struct per_session_data {
    unsigned char buf[LWS_SEND_BUFFER_PRE_PADDING + 4096 +
        LWS_SEND_BUFFER_POST_PADDING];
    unsigned int len;
};

pss->len = sprintf((char *)&pss->buf[
                    LWS_SEND_BUFFER_PRE_PADDING], "%s", data);
                n = libwebsocket_write(wsi, &pss->buf[
                    LWS_SEND_BUFFER_PRE_PADDING], pss->len, LWS_WRITE_TEXT);

这将解决发送数据的任何问题。