从 None 引发异常。ConnectionError(exc.args[0]) from None socketio.exceptions.ConnectionError:连接错误

问题描述 投票:0回答:1

我正在通过以下简单的服务器和客户端示例学习 python-socketio。我编写了代码,它工作正常。

服务器.py

import socketio


sio = socketio.Server(async_mode='eventlet')

# Web Server Gateway Interface
app = socketio.WSGIApp(sio)

connected_clients = {}


@sio.event
def connect(sid, environ):
    print(f"Sensor connected: {sid}")
    print(f"Welcome, Sensor {sid}")


@sio.event
def sensor_data(sid, data):
    print(f"Data from sensor {sid}: {data}")

    processed_data = process_sensor_data(data)
    try:
        sio.emit('server_response', f'Reply from server to {sid} : {processed_data}')
    except Exception as e:
        print(f"Error sending data to {sid}: {e}")


@sio.event
def disconnect(sid):
    print(f"Sensor disconnected: {sid}")


def process_sensor_data(data):
    if 'temperature' in data:
        return f"Processed temperature data: {data['temperature']} °C"
    elif 'humidity' in data:
        return f"Processed humidity data: {data['humidity']} %"
    else:
        return "Unknown sensor type"


if __name__ == '__main__':
    import eventlet

    print("Server started")
    eventlet.wsgi.server(eventlet.listen(('0.0.0.0', 5000)), app)

客户端.py

import time
import socketio
import random

sio = socketio.Client()


@sio.event
def connect():
    print("Connected to server")

    while True:
        temperature_data = {
            'temperature': round(random.uniform(20, 30), 2)
        }

        sio.emit('sensor_data', temperature_data)

        time.sleep(20)


@sio.event
def server_response(data):
    print(f'Message from the server: {data}')


@sio.event
def disconnect():
    print("Disconnected from server")


sio.connect('http://<Server-ip>:5000', transports=['websocket', 'polling'])

input("Press Enter to exit...\n")

sio.disconnect()

server.py 位于运行的 ec2 实例中,当我尝试连接服务器和客户端时,它会建立连接并开始通信,但是一旦我停止客户端,当我再次重新运行客户端时,它会给出相同的错误 IE 有时(我的意思是每运行 5 或 10 次)我会收到以下错误:

错误信息:

raise exceptions.ConnectionError(exc.args[0]) from None socketio.exceptions.ConnectionError: Connection error
websocket socket.io client-server python-socketio
1个回答
0
投票

问题是我使用了不同的版本,这个LINK页面解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.