Я устанавливаю Python-клиент для сервера WebRTC. Я использую свой клиент Python с библиотекой aiortc. но я получаю сообщение «нет текущего цикла событий в потоке-10»
Я пытался не использовать какие-либо асинхронные функции, чтобы сохранить мой код управляемым, так что мой код на Python ведет себя аналогично моему js-клиенту,Из других решений, которые я видел, люди запускают цикл обработки событий. но все это было на стороне сервера.
это мой файл python, содержащий мою библиотеку RTC (некоторые коды исключены из-за читабельности и релевантности), мой клиентский файл будет вызывать последние две функции
Клиентский файл
@sio.event
def ready():
print("starting signalling")
createRTCPeer()
pythonCreateDataChannel()
pythonRTC file
import argparse
import asyncio
import logging
import time
from aiortc import RTCIceCandidate, RTCPeerConnection, RTCSessionDescription
from aiortc.contrib.signaling import add_signaling_arguments, create_signaling
pc = None
hannel = None
def channel_log(channel,t, message):
print("channel(%s) %s %s" % (channnel.label, t, message))
def createRTCPeer():
print("starting RTC creation")
global pc
pc = RTCPeerConnection()
print("created RTC Peer:",pc)
return pc
def pythonCreateDataChannel():
print("creating datachannel")
global channel
channel = pc.createDataChannel("chat")
channel_log(channel, "-", "created by local party")
Я надеюсь, что это произойдет, когда оба будут вызваны, я создал объект RTCPeerConnection и объект RTCDataChannel, которые я затем смогу использовать для отправки и получения сообщений от моего js-клиента