Имеется функция, которая срабатывает при windows.onload, она получает данные, передает их в сокет и отправляет подключившемуся клиенту.
Функция срабатывает каждую секунду и отправляет данные, таким образом данные будут актуальны.
function doRequest() {
let url = "https://www.cybersport.ru/";
let xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.setRequestHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9");
xhr.send();
xhr.onreadystatechange = function () {
const net = require('net');
const server = net.createServer((socket) => {
socket.write(xhr.responseText);
socket.end()
}).on('error', (err) => {
console.error(err);
});
// Open server on port 9898
server.listen(9898, () => {
console.log('opened server on', server.address().port);
});
}
setTimeout(doRequest, 1000)
}
window.onload = function () {
doRequest();
}
Когда я подключаюсь к сокету, с помощью простого сокет клиента, я получаю данные, который затем просто останавливаются, т.е. обновленные данные не идут.
Сокет клиент
import socket
import ssl
# Config host and port
target_host = "localhost"
target_port = 9898
print(">>> Making Handshake")
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
client.connect((target_host, target_port))
while True:
response = client.recv(8096)
if response:
print(response)
client.close()