C ++ сервер / веб-клиент, запускается только начальное сообщение - PullRequest
0 голосов
/ 26 апреля 2019

Название может быть неясно, прости меня.Я считаю, что это проблема на стороне клиента, и я не совсем знаком с веб-сокетами.Я могу успешно инициализировать свою веб-страницу сообщением с моего сервера c ++, отправив объединенную строку следующего содержания:

HTTP-заголовок

const char * http_header = "HTTP/1.1 200 OK\r\n"
          "Content-length: %ld\r\n"
          "Content-Type: text/html\r\n"
          "\r\n"
              "%s";

Источник страницы

const char * html_source = R"(<html lang='en'>
<head>
<meta charset='UTF-8'>
<meta name='viewport' content='width = device-width, initial-scale = 1.0'>
<meta http-equiv='X-UA-Compatible' content = 'ie=edge'>
...

MY PAGE CODE GOES HERE

...
</script>
</body>
</html>)";

Цикл передачи

char browser_init[strlen(http_header)+strlen(html_source)];
sprintf(browser_init,http_header,strlen(html_source),html_source);

const char * test_message = "a";
   while(true)
    {
    if(ping_count == 0){
    connection_status = 3;
    recv(client_socket,client_message,sizeof(client_message),0);
    send(client_socket,browser_init,sizeof(browser_init),0);

    std::this_thread::sleep_for(std::chrono::milliseconds(1000));
    }
    if(ping_count>0){
    if(send(client_socket,test_message,sizeof(test_message),0)){
        connection_status = 2;
    }
    if(!send(client_socket,test_message,sizeof(test_message),0)){
        connection_status = 1;
        std::cout<<"Connection failed";
    }
    std::this_thread::sleep_for(std::chrono::milliseconds(1000));
    }
    ping_count++;
}

Это первое сообщение успешно инициализирует мою веб-страницу в браузере, но я не могу получить следующие.

Я попытался добавить код ниже внутри <script>, я больше не вижу свой контент javascript и в строке состояния Firefox написано: Передача данных с локального хоста (страница постоянно загружается)

    var ws = require("nodejs-websocket");
    var client = ws.createServer(function(conn){
    console.log("New Connection");
    conn.on("message",function(str){
    console.log(str);
    }).listen(12000,'127.0.0.1');
    });

Я буквально сижу здесь и жду помощи в этот момент

...