ошибка при попытке подключения к python-сокету с помощью клиента websocket javascript - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь установить соединение с моим клиентом javascript в браузере на моем сервере python и отправить данные с сервера на клиент, но при попытке подключения я получаю сообщение об ошибке: failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

Я пытался использовать wss вместо ws.Я также попытался использовать socket.io вместо websocket, что тоже не помогло.Я не помню всех вещей, которые я пробовал, но ни одна из них не помогла.

Клиент Javascript:

var conn = new WebSocket('ws://localhost:2001');
    conn.onmessage = function (event) {
     console.log(event.data);

Сервер Python:

# Echo server program
import socket

HOST = 'localhost'
PORT = 2001 
def sendSensorData(data):

    with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
        s.bind(HOST, PORT)
        s.listen(1)
        conn, addr = s.accept()
        with conn:
            print('Connected by', addr)
            while True:
                print(data)
                message = str(data).encode()
                try:
                # if not data: break
                    conn.sendall(message)
                except BaseException as e:
                    print (e)

Редактировать: Это ошибка из Python:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 917, in _bootstrap_inner
    self.run()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/threading.py", line 865, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/joep/Documents/GitHub/Walnut-installation-web-app/testAPI/workers/sensorStream.py", line 26, in sensorStream
    sendSensorData.sendSensorData(data)
  File "/Users/joep/Documents/GitHub/Walnut-installation-web-app/testAPI/functions/sendSensorData.py", line 19, in sendSensorData
    conn.send(message)
BrokenPipeError: [Errno 32] Broken pipe

Надеюсь, этоэто простой трюк, чтобы исправить это.

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