Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

WebSocket server c++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поменять местами наибольший и наименьший элемент массива в диапазоне от 0 до 25. Массив рандомный http://www.cyberforum.ru/cpp-beginners/thread1198825.html
#include <iostream> #include <conio.h> #include <cstdlib> #include <time.h> using namespace std; int main() { int min, max, mini, maxi,n; cin >> n; int *a = new int;
C++ Определить, лежат ли две заданные точки на окружности с центром в начале координат Две точки заданы координатами. Определить, лежат ли обе точки на окружности с центром в начале координат. Не могу понять что требуется, плюс еще с геометрией туго совсем. Нашел написанные на паскале... http://www.cyberforum.ru/cpp-beginners/thread1198792.html
C++ STL и string
начал тут 1 задачу на форуме решать в text1 какой-то текст, мы ищем в нем слова str и после них вставляем слова str2 вообщем я не могу придумать решение при помощи STL, по идее применяю search....
C++ Ввод знака + или -
Здравствуйте есть код #include <iostream> using namespace std; int main() { int a1=0;
C++ Поиск одной переменной под другой http://www.cyberforum.ru/cpp-beginners/thread1198748.html
Добрые день, сразу прошу извинить за неопределенное название темы!! Вопрос такой: человек вводит число 42.0 например, а под этим числом обьявлена переменная num7: float num5 = 43.5; char*...
C++ Наследование классов, обратиться к замещающей функции заголовочный файл #include <iostream> using namespace std; class X{ public: int x1,x2; X(int x_1, int x_2){ x1 = x_1; подробнее

Показать сообщение отдельно
OrmaJever
9 / 9 / 0
Регистрация: 10.11.2011
Сообщений: 241

WebSocket server c++ - C++

04.06.2014, 17:27. Просмотров 1182. Ответов 0
Метки (Все метки)

Тема для тех кто сталкивался с вебсокетами.
Пишу сервер протокола WebScoket, пакеты в протоколе имеют свою структуру http://learn.javascript.ru/websockets#описание-фрейма, я написал метод который создаёт такой пакет
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
qint64 Client::writePack(const char *data, char type)
{
    char *pack = (char *)malloc(2);
    unsigned char headLen = 2;
    unsigned long long length = 0;
    while(data[length] != '\0') ++length;
 
    pack[0] = (1<<7) | type;
    pack[1] = 0;
 
    if(length <= 125)  {
        pack[1] |= length;
    } else if(length <= 65536) {
        pack[1] |= 126;
 
        char len[2];
        len[0] = ( length >> 8 ) & 255;
        len[1] = ( length ) & 255;
 
        pack = (char *)realloc(pack, 4);
        memcpy(pack+headLen, len, 2);
        headLen += 2;
    } else if(length > 65536) {
        pack[1] |= 127;
        pack = (char *)realloc(pack, 10);
 
        char len[8];
        len[0] = ( length >> 56 ) & 255;
        len[1] = ( length >> 48  ) & 255;
        len[2] = ( length >> 40 ) & 255;
        len[3] = ( length >> 32  ) & 255;
        len[4] = ( length >> 24 ) & 255;
        len[5] = ( length >> 16  ) & 255;
        len[6] = ( length >> 8 ) & 255;
        len[7] = ( length ) & 255;
 
        memcpy(pack+headLen, len, 8);
        headLen += 8;
    }
 
    pack = (char *)realloc(pack, headLen+length+1);
    memcpy(pack+headLen, data, length+1);
    return write(pack);
}

И он даже работает, но только когда длина данных <= 125байт, как только передаю данные больше 125байт браузер его просто игнорит. Я проверял первые 4 байта, в них лежи всё как нужно 126 во втором байте, 0 в 3 и 130 в 4 (для длины 130байт), дальше сами данные, но сервер его просто игнорит, при этом для длины меньше 126 байт браузер принимает всё отлично. Уже второй день голову ломаю, помогите кто чем может

Добавлено через 3 часа 28 минут
я всё ещё надеюсь что есть те кто работал с веб сокетами
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru