我做了一个简单的聊天程序。当我试图从另一台电脑访问同一页面的URL时,没有响应。有没有办法解决这个问题?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>P2P chat</title>
<style>
#peer-id {
margin-bottom: 10px;
}
#peers {
margin-bottom: 10px;
}
#messages div {
margin-bottom: 5px;
}
</style>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://unpkg.com/peerjs@1.4.7/dist/peerjs.min.js"></script>
<script>
const peer = new Peer();
peer.on('open', (id) => {
$('#peer-id').text(`Your ID: ${id}`);
});
peer.on('connection', (conn) => {
$('#peers').append(`<div id="${conn.peer}">${conn.peer}</div>`);
conn.on('data', (data) => {
$('#messages').append(`<div>${conn.peer}: ${data}</div>`);
});
});
$('#send').click(() => {
peer.connections.forEach((conn) => {
conn.send($('#message').val());
});
$('#message').val('');
});
</script>
</head>
<body>
<div id="peer-id"></div>
<div id="peers"></div>
<div id="messages"></div>
<input type="text" id="message">
<button id="send">Send</button>
</body>
</html>
我是一个编程初学者,所以我很难找到一个解决方案。我想创建一个聊天室,可以容纳三个或更多的人使用PeerJS。我很好奇,如果有可能创建一个聊天室,可以容纳三个或更多的人使用PeerJS。
1条答案
按热度按时间lnvxswe21#
您的代码除了创建自己的ID之外什么也不做,但是您还需要找出并指定要连接的用户的ID。
下面是多用户聊天的实现。https://github.com/Rubilmax/peerjs-multichat
记住PeerJS有一些bug,例如,如果另一个用户通过关闭标签页或浏览器退出聊天,它不会关闭连接