Я использую flask -sockerio, пытаясь создать видеочат, но получил эту ошибку
DOMException: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote answer sdp: Called in wrong state: kStable
Вот код сервера:
from app import app
from app.common import now, timedelta
from app.controllers.battle.common import *
import flask_socketio as socketio
from app.store import store
@app.route('/battle/video')
def video_battle():
return render_template(
'battlevideo/pages/index.html.jinja'
)
users = {}
rooms = {}
@ws.on('join room')
@authenticated_only
def video_battle_connect(room_id):
app.logger.debug(users)
room_users_ids = []
if users.get(room_id):
if len(users.get(room_id)) == 5:
ws.emit("room full")
return
users[room_id].append(request.sid)
else:
users[room_id] = [request.sid]
rooms[request.sid] = room_id
for uid in users[room_id]:
if uid == request.sid:
room_users_ids.append(uid)
emit("all users", room_users_ids)
@ws.on('sending signal')
@authenticated_only
def video_battle_send(json):
emit('user joined', {
'signal': json['signal'],
'callerID': json['callerID']
})
@ws.on('returning signal')
@authenticated_only
def video_battle_send(json):
emit('user joined', {
'signal': json['signal'],
'id': request.sid
})