问题描述
我有一个运行 python-socketIO 的简单 Python 3 应用程序。我使用它以每秒 30 次的频率将近 400 000 个值的列表流式传输到客户端应用程序。我采用了压缩技术,将网络带宽降低到更易于管理的水平。
测试应用程序运行良好,但其性能下降得非常快。两个客户端连接时,帧率接近20。4-5个客户端时,帧率小于10。
我使用这个命令来启动服务器。
gunicorn -k eventlet -w 1 --reload server:app
这是我的代码
#IMPORTS
import socketio
import driver as customData
import threading
import lz4.frame
#SERVER SETUP
sio = socketio.Server()
app = socketio.WsgiApp(sio,static_files={
'/':'./clientView/'
})
#VARIABLE SETUP
stream = False
#FUNCTION DEFinitioNS
def stream_Data():
global stream
while stream == True:
sio.emit('dataStream',lz4.frame.compress(customData.stream_Raw(),9))
def startStream():
global stream
if stream == True:
print('Stream Requested: Already in Progress...')
elif stream == False:
print('Stream Initialized...')
stream = True
STREAM_THREAD.start()
#THREAD SETUP
STREAM_THREAD = threading.Thread(target = stream_Data)
#SOCKET EVENTS
@sio.event
def connect(sid,environ):
print(sid,'connected')
@sio.event
def disconnect(sid):
print(sid,'disconnected')
@sio.event
def streamEvent(sid,data):
global stream
if data == 'stream':
startStream()
stream = True
if data == 'stop_Stream':
stream = False
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)