Estoy trabajando en un proyecto webrtc y tengo clientes con transmisión de video de entrada, un cliente que mostrará la transmisión de entrada y el servidor. Estoy usando webrtc y websockets. Cada cliente está conectado al servidor de señalización. Quiero saber cómo el servidor puede saber si el cliente conectado es un cliente con transmisión de video de entrada o si es un cliente que mostrará algunas transmisiones. ¿Puedo enviar información adicional en el momento de conectar el lado del cliente al servidor? El cliente está escrito en Javascript y el servidor en Python. ¿Tal vez pueda usar algunos parámetros en el método socket.connect()?
Manejo del servidor conectando:
@sio.event async def connect(sid, environ): print('Connected', sid) sessionIDs.append(sid) await sio.emit('ready', room=ROOM, skip_sid=sid) sio.enter_room(sid, ROOM)Conectando cliente a servidor:
socket.connect();Simplemente agregue sus datos como parámetro GET en la URL del websocket, o use una ruta diferente.
const socket = io("ws://localhost:3000?arg1=1&arg2=2"); // or const socket = io("ws://localhost:3000/path1");Y en el servidor para conseguirlos:
io.on("connection", (socket) => { console.log(socket.handshake.query); // prints { x: "42", EIO: "4", transport: "polling" } });