Не получается передать сообщение из серверного socket-а на клиентский socket

404.php (Код страницы)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>WebSocket Example</title>
</head>
<body>
    <div id="websocketElement">
        <!-- В этом элементе будет отображаться результат WebSocket соединения -->
    </div>

    <script>
        // Создание нового WebSocket соединения
        const socket = new WebSocket('ws://127.0.0.1:2000');

        // Найдем элемент, к которому мы хотим привязать данные
        const websocketElement = document.getElementById('websocketElement');

        // Слушаем событие открытия соединения
        socket.onopen = function(event) {
            websocketElement.innerText = 'Соединение установлено';

        // Слушаем событие получения сообщения
        socket.onmessage = function(event) {
            websocketElement.innerText = 'Получено сообщение: ' + event.data;
        };

        // Слушаем событие закрытия соединения
        socket.onclose = function(event) {
            websocketElement.innerText = 'Соединение закрыто';
        };

        // Слушаем событие ошибки
        socket.onerror = function(error) {
            websocketElement.innerText = 'Произошла ошибка: ' + error.message;
        };
    </script>
</body>
</html>

server.py (код серверного socket-а)

import socket
try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    server.bind(("127.0.0.1", 2000))

    server.listen(5)

    while True:
        user, adres = server.accept()
        data = user.recv(1024)
        print(data.decode("utf-8"))
        
        # Отправляем обратно клиенту то же сообщение, которое мы получили
        user.send(data)

        # Закрываем соединение с клиентом
        # user.close()
except KeyboardInterrupt:
    server.close()
    print("Exit...")

Вывод с терминала:

C:\Users\intern_it\Desktop>py server.py
GET / HTTP/1.1
Host: 127.0.0.1:2000
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36
Upgrade: websocket
Origin: http://localhost
Sec-WebSocket-Version: 13
Accept-Encoding: gzip, deflate, br
Accept-Language: ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
Sec-WebSocket-Key: 0sgXHqM8DoQLiLXJpl2w7Q==
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits

Результат:
Инспектор Chrome Инспектор Chrome 2


Ответы (0 шт):