gpt4 book ai didi

javascript - 如何使用 peerJS 点对点连接接收数据?

转载 作者:可可西里 更新时间:2023-11-01 14:50:37 25 4
gpt4 key购买 nike

我正在尝试使用 peerJS 连接两个对等点。我几乎只是在完成他们的“入门”,但我仍在苦苦挣扎。以下是我到目前为止获得的代码。

<body>
<script src="http://cdn.peerjs.com/0.3/peer.min.js"></script>
<script>
var conn;
var peer = new Peer({key: 'lwjd5qra8257b9'});
peer.on('open', function(id){
console.log('My peer ID is:' + id);
document.getElementById('peerIdDisplay').innerHTML = '<b>My peer ID is: </b><font color="red">' + id + '</font>';
});

function ConnectToPeer()
{
var peerId = document.getElementById("peerIdTxtBox").value;
console.log(peerId);
conn = peer.connect(peerId);

AfterConnInit();

peer.on('error', function(err){
console.log('error');
});

};

peer.on('connection', function(conn)
{
console.log('connected');
});


function AfterConnInit()
{

conn.on('open', function() {
// receive messages
conn.on('data', function(data) {
console.log('received', data);
});

//send messages
conn.send('hello');

});
};


function SendMessage()
{
//conn.send('Hello!');
};

</script>
<p id='peerIdDisplay' style='font-family:verdana'><b>My peer ID is: </b></p>
<hr style='width:100%'/>
<p id='instructions'>Enter another peer's ID to connect to them..</p>
<form>
<input type="text" id="peerIdTxtBox">
</form>
<button id="conToPeerBtn" OnClick="ConnectToPeer()">Connect To Peer</button>
<button id="sendMessageBtn" OnClick="SendMessage()">Send Message</button>
</body>

我已经设法使用生成的 peerID 在两个对等点之间建立连接,但是,我似乎无法理解发送和接收消息。据我所知, conn.send() 应该将消息发送到客户端然后接收它,但我不知道如何/get/数据显示在另一个对等点上,更不用说使用发送了来自第一个对等点的 SendMessage 函数。有人可以解释一下在我的计算机出问题之前数据是如何发送和接收的吗?

谢谢

最佳答案

'data' 事件在 conn.on('open') 中被监听,将其作为独立的事件处理程序移动将使代码正常工作。

下面是修改后的代码

<script>
var conn;
var peer = new Peer({key: 'lwjd5qra8257b9'});

peer.on('open', function(id){
console.log('My peer ID is:' + id);
document.getElementById('peerIdDisplay').innerHTML = '<b>My peer ID is: </b><font color="red">' + id + '</font>';
});

function ConnectToPeer()
{
var peerId = document.getElementById("peerIdTxtBox").value;
console.log(peerId);
conn = peer.connect(peerId);


peer.on('error', function(err){
console.log('error');
});

};

peer.on('connection', function(conn)
{

console.log('peer connected');
conn.on('open', function() {
console.log('conn open');
});
conn.on('data', function(data) {
console.log(data);
});
});


function SendMessage()
{
conn.send('Hello!');
};

关于javascript - 如何使用 peerJS 点对点连接接收数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20166067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com