Не получается передать сообщение из серверного 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

