Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Who knows why I can't trigger the onicecandidate event? #1671

Closed
bbhxwl opened this issue Aug 15, 2024 · 5 comments
Closed

Who knows why I can't trigger the onicecandidate event? #1671

bbhxwl opened this issue Aug 15, 2024 · 5 comments

Comments

@bbhxwl
Copy link

bbhxwl commented Aug 15, 2024

<script setup lang="ts">
const configuration = {
    iceServers: [
        { urls: 'stun:stun3.l.google.com:19302' } // STUN 服务器配置
    ]
};
let peer1: RTCPeerConnection
let peer2: RTCPeerConnection
onMounted(async ()=>{
    peer1 = new RTCPeerConnection(configuration);
    peer1.onicecandidate = event => {
        console.log(event.candidate)
        if (event.candidate) {
            console.log('发送 ICE candidate: ', event.candidate);
        }
    };
    peer1.onicecandidateerror=event=>{
        console.log("onicecandidateerror",event)
    }
    peer2 = new RTCPeerConnection(configuration);
    peer2.onicecandidate = event => {
        console.log(event.candidate)
        if (event.candidate) {
            console.log('发送 ICE candidate: ', event.candidate);
        }
    };
    peer2.onicecandidateerror=event=>{
        console.log("onicecandidateerror",event)
    }
    const offer=await peer1.createOffer();
    await peer1.setLocalDescription(offer);
    await peer2.setRemoteDescription(offer);
    const answer = await peer2.createAnswer();
    await peer2.setLocalDescription(answer);
    await peer1.setRemoteDescription(answer);
    console.log(peer1.iceConnectionState)
    console.log(peer2.iceConnectionState)
    const dataChannel = peer1.createDataChannel("channel");
    dataChannel.onopen = () => {
        console.log("Data channel is open");
        // 定时发送消息
        setInterval(() => {
            if (dataChannel.readyState === "open") {
                dataChannel.send("Hello from peer1!");
            }
        }, 3000); // 每3秒发送一次消息
    };
    dataChannel.onmessage = event => {
        console.log("Message received by peer1: ", event.data);
    };



    // 在 peer2 监听数据通道
    peer2.ondatachannel = event => {
        const receivedChannel = event.channel;
        receivedChannel.onmessage = (event) => {
            console.log("Message received by peer2: ", event.data);
        };
    };
})

</script>

<template>
    <span></span>
</template>

<style scoped>

</style>
@fippo
Copy link
Collaborator

fippo commented Aug 17, 2024

search stackoverflow, this has been explained many times. This repository is, as the template explains, not a place to get help with any webrtc issue.

@fippo fippo closed this as completed Aug 17, 2024
@bamabrat4

This comment was marked as off-topic.

@bamabrat4

This comment was marked as spam.

@bamabrat4

This comment was marked as spam.

@bamabrat4

This comment was marked as spam.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants