websocket 用c++编写客户端的问题

用MFC CAsyncSocket这个类的socket与服务器connect之后,

我发送了头:Sec-WebSocket-Key,Sec-WebSocket-Version: 13 等内容
等取得了服务器返回的应答:Sec-WebSocket-Accept,Upgrade:Websocket等内容
应该是握手成功了。

之后我在用CAsyncSocket的send发送文本过去服务器就没有返回数据了,服务器也木有向我返回数据。是不是发送的数据要经过编码或者是什么?

请问有websocket 用c++编写客户端 示例代码吗?

图片说明

参考这个完整的例子
http://blog.sina.com.cn/s/blog_793598f80101l6p1.html

CSocket sockect;
sockect.Create();
CString ip =_T( "192.168.0.157");
bool ret = sockect.Connect(ip,8080);
if (ret)
{
Json::Value root;
root["lsh"] = "1234567890123";
root["clbh"] = "j001";
root["clbh"] = "j001";
root["kskm"] = "1";
root["sfzhm"] = "12345678";
root["kssj"] = "2015/11/25 9:52:12";
root["czlx"] = "0";

    string ss = root.toStyledString();
    string strlen;

    int len = ss.size();
    stringstream temp;
    temp.fill('0');
    temp.width(4);
    temp << len;
    temp >> strlen;

    // char *p = new char[len + 10];
    string data = "$$";
    data.append("12");
    data.append(strlen);
    data.append(ss);
    data.append("FF");
    sockect.Send(data.c_str(), data.size());
    sockect.Close();
}

大概看一下,我估计是服务器的问题。。。

应该维持一个心跳包来维持websocket的连接