Название может быть неясно, прости меня.Я считаю, что это проблема на стороне клиента, и я не совсем знаком с веб-сокетами.Я могу успешно инициализировать свою веб-страницу сообщением с моего сервера 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');
});
Я буквально сижу здесь и жду помощи в этот момент