Странное сообщение о соединении от websocket к WinSock - PullRequest
0 голосов
/ 19 апреля 2019

Изменить: теперь я получаю сообщения, как я хотел, когда я установил CONNMSG размер на [0].Таким образом, я больше не вижу заголовок http. Изображение с правильными сообщениями


У меня есть программное обеспечение для настольного компьютера c ++, которое я буду рассматривать как server, потому что мое программное обеспечение на стороне браузера не имеет смысла без него.Я использую WinSock для отправки сообщений на /localhost:1111 и могу прочитать это сообщение с помощью экземпляра клиента c ++.

Теперь, когда я инициализирую сервер c ++ и подключаюсь к тому же хосту (localhost: 1111) с помощью клиента websocket, я получу следующие сообщения на консоли сервера:

Изображение без моего сообщения Image without my message

В приведенном выше случае размер моего сообщения о соединении установлен на 1024, а мое сообщение для клиента не отображается .Если я установлю его на 256, как показано ниже, формирование сообщения будет испорчено, и мое сообщение будет сжато где-то внутри него , как показано на рисунке ниже:

Изображение с моим сообщением Image with my message

Я не уверен, должен ли я делиться кодом на стороне сервера или на стороне клиента.Но я думаю, что проблема в коде ниже:

char serverMessage[128] = "MY MESSAGE";
if (newConnection == 0)
{
    std::cout << "Failed to accept the client's connection." << std::endl;
}
else //If client connection properly accepted
{
    char CONNMSG[1024];
    while(true){
        recv(newConnection, CONNMSG,sizeof(CONNMSG),NULL);
        send(newConnection, serverMessage, sizeof(serverMessage), NULL);
        std::cout<< CONNMSG<<std::endl;
        if(!newConnection){
            std::cout<<"Client Disconnected"<<std::endl;
            break;
        }
        Sleep(1000);
    }
}
...