Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.06.2016
Сообщений: 3

WebSocket разрывает соединение

21.03.2020, 17:51. Показов 2712. Ответов 0

Студворк — интернет-сервис помощи студентам
Вопрос один, на который почему-то в гугле нет ответа.
Почему соединение по WebSocket разрывается после отправки и подтверждения первого сообщения?
Нельзя ли его как-то удержать (чтобы соединение было постоянным), например до закрытия вкладки, чтобы данные отправлялись-принимались без пересоединения?

HTML5
1
2
<input type="text" id="message">
<button onClick="sendMess();">Send</button>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
let socket = new WebSocket("wss://example.com:8765/");
 
socket.onopen = function(e) {
    console.log("WS: Connection open");
    //socket.send("My name is John2");
 
};
 
socket.onmessage = function(event) {
    console.log("WS message received:" + `${event.data}`);
 
};
 
socket.onclose = function(event) {
  if (event.wasClean) {
    console.log("WS: " + `[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`);
  } else {
 
    console.log("WS: " + "[close] Connection died");
  }
};
 
socket.onerror = function(error) {
    console.log("WS: " + `[error] ${error.message}`);
 
};  
    
 
function sendMess(){
    var mess = $("input#message").val();
    socket.send(mess);
 
}
Консоль после отправки (123) и подтверждения (Hello 123!) первого сообщения:
Code
1
2
3
WS: Connection open
mouse_in.php:26 WS message received:Hello 123!
mouse_in.php:32 WS: [close] Connection closed cleanly, code=1000 reason=
Консоль после отправки второго сообщения и других попыток:
Code
1
WebSocket is already in CLOSING or CLOSED state.
Плюс хочу еще не в тему добавить что хром вообще ошалел, блокирует SSL сертификаты почти все подряд, даже на этом форуме.

Добавлено через 26 минут
Вот серверная сторона на Python3.7 если что:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import asyncio
import pathlib
import ssl
import websockets
 
async def hello(websocket, path):
    name = await websocket.recv()
    print(f"< {name}")
 
    greeting = f"Hello {name}!"
 
    await websocket.send(greeting)
    print(f"> {greeting}")
 
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
ssl_context.load_cert_chain(pathlib.Path(__file__).with_name("certificate.pem"), keyfile = pathlib.Path(__file__).with_name("certificate.key"))
 
start_server = websockets.serve(
    hello, "example.com", 8765, ssl=ssl_context
)
 
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2020, 17:51
Ответы с готовыми решениями:

Ошибка в соединение WeBsocket
Доброго времени суток. Пытаюсь настроить вебсокетное соединение через node.js, но возникает ошибка. var server =...

Soket io разрывает соединение
Вобщем если подключить на сайт сокеты, и , к примеру, увести ноутбук в спящий режим, то после открывания ноутбука видно, что сайт...

Браузер разрывает соединение (Socket.IO)
Доброе утро, форумчане! Есть приложение на node.js, где связь с клиентов происходит посредством socket.io (например, чат). ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2020, 17:51
Помогаю со студенческими работами здесь

Сервер разрывает соединение requests/requests_toolbelt
После авторизации, отправляю на сайт 2-3 запроса для получения кода страницы и один multipart запрос. Проделав раз 10-15 подряд действия...

Dir 615 M1 тупит при нагрузке и разрывает соединение WAN
Здравствуйте все. Появилась проблема с роутером, что когда я начинаю играть по онлайну, то роутер начинает лагать в виде того что...

Какой ответ должен отдать сервер при попытке брозера создать websocket соединение?
Здравствуйте, уважаемые. Подскажите какой ответ должен отдать мой сервер при попытке брозера создать websocket соединение? Особенно не...

Глючит соединение с интернетом. Не открываются сайты, не удается установить DNS соединение
Добрый день! Помогите разобраться с проблемой!!! Есть сеть из 30 ПК, последнее 7 дней стал глючить интернет на некоторых ПК с разными ОС....

Соединение с БД (соединение через сеть)
Доброго времени суток. Помогите пожалуйста новичку. Создал в Visual Studio Net 2010 C++ проект с базой данных. Этот проект на локальном (на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru