WebSocket уже находится в состоянии ЗАКРЫТО или ЗАКРЫТО - HTML - PullRequest
0 голосов
/ 02 марта 2019

Я новичок в HTML5 / javascript. Я создал сервер веб-сокетов с использованием python.
Я хочу просмотреть данные и добавить полученные сообщения в текстовую область, не уверен, что происходит не так, но это работаетштраф при первой попытке отправить сообщение, но при отправке другого выдает «WebSocket is already in CLOSING or CLOSED state».

Я что-то упустил из html?

<!DOCTYPE HTML>

<html>
   <head>
      <script type="text/javascript">
		var connection = new WebSocket("ws://localhost:8765");
		
		connection.onopen = function () {
			console.log('Connection Opened');
		};

		connection.onerror = function (error) {
			console.log('WebSocket Error ' + error);
		};

		connection.onmessage = function (e) {
			document.getElementById("rxConsole").value += e.data;
		};
	
		function sendMessage(msg){
			console.log('I\'m sending data');
			connection.send(document.getElementById("txBar").value);
			document.getElementById("txBar").value = "";
		}
</script>

	  
		
   </head>
   <body">
   <div>
		 <textarea id="rxConsole"></textarea
	</div>
	<hr/>
	<div>
		<input type ="text" id="txBar" onkeydown="if(event.keyCode == 13) sendMessage();" />
   </body>
</html>

Код Python:

import asyncio
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}")

start_server = websockets.serve(hello, 'localhost', 8765)

asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()

Из хрома:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...