Я использую react native с socket io, и я пытаюсь понять, почему socket io .on
не выполняется. У кого-нибудь есть идея?
например, клиентский сокет io, console.log не вызывается,
socket.on('streamStarted', () => console.log('success'));
, но вызывается io.connection, потому что я вижу console.log('user connected to main connection')
журнал. Что я мог делать не так?
на стороне сервера
io.on('connection', socket => {
console.log('user connected to main connection');
socket.on('streamStarted', () => {
console.log('user connected to stream');
peerConnections.set(socket.id, socket);
});
socket.on('offerOrAnswer', data => {
console.log(data);
socket.emit('offerOrAnswer', data);
});
socket.on('disconnect', () => {
console.log('disconnected');
peerConnections.delete(socket.id);
});
});
реагировать на собственный клиент
const socket = io('http://bf1f2213f095.ngrok.io');
React.useEffect(() => {
socket.on('streamStarted', () => console.log('success'));
socket.on('offerOrAnswer', sdp => {
console.log('check for offer', sdp);
// set sdp as remote description
setOffer(sdp);
pc.setRemoteDescription(new RTCSessionDescription(sdp));
});
socket.on('candidate', candidate => {
pc.addIceCandidate(new RTCIceCandidate(candidate));
});
startStream();
}, []);