- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个点,一个用 peer.call(other_peer_id, mediastream)
调用另一个。
似乎调用 对等体没有收到任何带有conn.on("open", function() { [...] })
的数据包.
这可能是因为无法同时传输调用和数据?
最佳答案
Peerjs 原生支持同时(也称为双向)调用和数据。在这里查看他们的示例。
https://github.com/jmcker/Peer-to-Peer-Cue-System
您将看到他们的接收方和发送方对等方都可以使用与此类似的方法发送和接收数据/流。
let Connection = null;
peer.on('connection', function (conn) {
if (Connection) conn.close(); else Connection = conn;
conn.on('data', function (data) {
console.log(data);
});
conn.send("Sending other peer a message");
});
这是同时使用数据和通话的示例。
Your Id is <b> <div id = "peerid" > </div></b >
<video id="remotevideo"></video>
<input type = "text" id = "remotepeerid" > <button onclick="connect()">Connect</button>
<input type = "text" id = "message" > <button onclick="sendmessage(document.getElementById('message').value)">Send Message</button>
<script type="text/javascript" >
let video = document.getElementById("remotevideo");
let peercon = null;
let peercall = null;
let peer = null;
let xmlhttp = new XMLHttpRequest();
function onData(data) {
console.log(data);
}
function sendmessage(message){
peercon.send(message);
}
function connect(){
peercon = peer.connect(document.getElementById('remotepeerid').value);
navigator.mediaDevices.getUserMedia({
video: true,
audio: true
}).then(function (stream) {
peercall = peer.call(document.getElementById('remotepeerid').value,stream);
peercall.on('stream', function(stream) {
video.srcObject = stream;
video.play();
});
}).catch(function (err) {
console.error(err);
});
peercon.on('open', function(){
console.log("Remote Connection opened");
peercon.on('data', onData);
});
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.status == 200 && xmlhttp.readyState == 4) {
let resp = xmlhttp.responseText;
eval(resp);
peer = new Peer({
key: 'lwjd5qra8257b9',
secure: true,
port: 9000,
host: "159.65.191.6"
});
peer.on('open', function (id) {
document.getElementById("peerid").innerHTML = id;
});
peer.on('call', function(call) {
console.log("Answering Call");
peercall = call;
navigator.mediaDevices.getUserMedia({
video: true,
audio: true
}).then(function (stream) {
call.answer(stream);
}).catch(function (err) {
console.error(err);
});
peercall.on('stream', function(stream) {
video.srcObject = stream;
video.play();
});
});
peer.on('connection', function(conn) {
peercon = conn;
conn.on('open', function(){
console.log("Remote Connection opened");
conn.on('data', onData);
conn.send("hello");
});
});
}
};
xmlhttp.open("GET", "https://cdnjs.cloudflare.com/ajax/libs/peerjs/0.3.16/peer.min.js", true);
xmlhttp.send();
</script>
关于javascript - PeerJS:是否可以同时传输调用和数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52616128/
我使用 JavaScript 的 webRTC 库peerjs 创建了一个简单的视频聊天应用程序。现在我正在尝试在 zeit.co 上部署该网站。但是当创建peerjs实例时我收到错误下面是我提到的运
我正在尝试使用 PeerJs 创建一个单向视频应用程序。我已经成功地能够运行我自己的对等服务器并通过单击按钮进行连接,但是我无法关闭连接,以便对等方可以接收/建立与新对等方的新连接。 每个用户要么是主
我已经通过 peerJS WebRTC 设置了屏幕共享。但是当共享屏幕的人从他的一端停止屏幕共享时,屏幕共享会被其他用户卡住。我想为所有用户从 dom 中删除屏幕共享流视频。 这是我的 script.
要发布的背景信息:我正在使用 PeerJS,并且我在通话事件上显示了一个 div,它作为接受或拒绝通话的模式。 问题:有没有一种方法可以将用户名与调用请求一起发送(除了对等方的 ID 之外,我为此使用
这是我与 PeerJS 连接的代码: var peer = new Peer({ key: '[PeerJSID]', debug: 3}); peer.on('open', function(){
我打算使用PeerJs创建P2P连接(数据和后期视频)。我查看了教程并使用了以下代码。 在浏览器A(Chrome 38)中: var local; var remote; function peerJ
我正在使用 peerjs 服务器和 peerjs 在 2 个 peerid 之间进行 webrtc 调用。调用就像 var call = peer.call($('#callto-id').val(
我有两个点,一个用 peer.call(other_peer_id, mediastream) 调用另一个。 似乎调用 对等体没有收到任何带有conn.on("open", function() {
我目前正在编写一个基于 Web 的聊天客户端,其中两个人随机相互连接并在没有提示的情况下一起进入聊天。 我正在使用 PeerJS 库,因为我发现它对我来说是最容易理解的。不过,我遇到了障碍:我不确定如
我使用 PeerJS对于我的 P2P 应用程序(多人游戏)。一切都很好(点之间的连接、发送数据),但我不知道如何手动关闭点之间的连接。 文档中有函数“关闭与服务器的连接”或“关闭与服务器的连接并终止所
我正在尝试在我的应用程序中设置 session 模块。所以我找到并创建了两个用户之间的流。 问题是其他人无法加入。 我一直在尝试阅读他们的文档,但我似乎无法找到如何实现它。 这是我的代码: /
我正在尝试对 peerjs 进行非常简单的单页测试。 但是,下面的代码似乎不起作用。我已经检查文件三遍了。但是在我的代码中找不到任何错误,输出也没有错误。 为了我的灵感,我使用了这个:http://c
我正在尝试使用 peerjs将主机与客户端连接。我有两个文件(一个用于主机,一个用于客户端)。主机将生成一个 peerId,客户端用来连接到他。基本上是来自 here 的教程. host.html c
我正在尝试 PeerJS效果很好。 只需查看演示,Peer ID 就会自动为您创建。 有没有办法定义/设置您自己的 Peer Id? 最佳答案 在创建对等对象时提供对等 ID: var peer =
已有问题peer.js is not working http but not on https?但它标记为检查浏览器兼容性的答案。 它还有一个评论peer.js is not working htt
我正在尝试使用 peerJS 连接两个对等点。我几乎只是在完成他们的“入门”,但我仍在苦苦挣扎。以下是我到目前为止获得的代码。 var conn; var peer = new
我正在评估 PeerJS 以实现一个简单的双人在线游戏。似乎一旦我将一个玩家的连接的 id 转移到另一个玩家,他们就可以通过 PeerJS 打开一个 channel ,并且一切顺利。 但是如果两个玩家
我正在开发一个 React/Redux 应用程序,但我的状态有问题。我正在使用 redux-persist 以便在页面刷新时补充我的商店。我正在使用 peerJS 在流媒体用户和正在观看的用户之间建立
嗨, friend 们,当我单独连接到单个对等点时,我一直致力于连接到多个对等点 ID 以进行文本聊天 但我在同时连接多个 peerid 时遇到问题 例如,为了连接到单个对等点,我们将使用它
这个问题在这里已经有了答案: Why is a signaling server needed for WebRTC? (5 个答案) 关闭 7 年前。 我正在从事一个项目,该项目应该允许用户相互联
我是一名优秀的程序员,十分优秀!