首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过PeerJS接收数据

通过PeerJS接收数据
EN

Stack Overflow用户
提问于 2017-06-07 01:18:24
回答 1查看 618关注 0票数 1

我正在做一个小的PeerJS项目,我有点困惑。我能够打开一个连接并确认客户机是连接的,但是我无法找到接收任何东西的正确方法或语法。或者我只是错过了一些简单的东西。我已经尝试了这么多的变体,试图使它发挥作用。下面是JS和HTML。

联署材料:

代码语言:javascript
复制
var peer = new Peer({
  key: 'lwjd5qra8257b9'
// I use my own API key for testing, this is the public PeerJS key
//you'll have to generate your own if this doesn't work.
});

peer.on('open', function(id) {
  $('body').append('<br/>Your personal peer ID is: ' + id + '<br/>Be careful who you share it with.');
});
peer.on('connection', connect);

function connect(succ) {
  conn = succ;
  //input changes on successful connect
  $('#peerKeyEnter').val(conn.peer);
  $('#peerKeyEnter').prop('disabled',true);
}

$(document).ready(function() {

  $('#peerKeySubmit').on('click', function() {
    var buddy = document.getElementById('peerKeyEnter').value;
    var buddyConn = peer.connect(buddy); //send connection request
    connect(buddyConn); //connect to peer

    //sending data
    buddyConn.on('open', function() {
      buddyConn.send('this is supposed to work')
    });

    //receiving data
    buddyConn.on('connection', function(conn) {
      buddyConn.on('data', function(data) {
        console.log(data);
      });
    });
  }); //end peerKeySubmit.click
}); //end doc.ready()

HTML:

代码语言:javascript
复制
<html>
<head>
  <script
  src="https://code.jquery.com/jquery-3.2.1.js"
  integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE="
  crossorigin="anonymous"></script>
  <!--script src='peer.js'></script-->
<script src="http://cdn.peerjs.com/0.3/peer.js"></script>
  <script src='app.js'></script>
</head>
<body>

<input type='text' id='peerKeyEnter' placeholder="Enter peer's ID"></input>
<button id='peerKeySubmit' value='Send'>Select Peer</button>

</body>
</html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-07 03:36:57

实际上你就快到了。您的buddyConn.on('data'...应该在connect函数中,使用该函数的参数名作为连接。另外,对connect的第二个调用不应该在#peerKeySubmit.on回调函数中。下面是修改后的(工作)代码:

代码语言:javascript
复制
var peer = new Peer({
  key: 'lwjd5qra8257b9'
// I use my own API key for testing, this is the public PeerJS key
//you'll have to generate your own if this doesn't work.
});

peer.on('open', function(id) {
  $('body').append('<br/>Your personal peer ID is: ' + id + '<br/>Be careful who you share it with.');
});
peer.on('connection', connect);

function connect(succ) {
  conn = succ;
  conn.on('data', function (data) {
    console.log('Received from ' + conn.peer + ': ' + data);
  });

  //input changes on successful connect
  $('#peerKeyEnter').val(conn.peer);
  $('#peerKeyEnter').prop('disabled',true);
}

$(document).ready(function() {

  $('#peerKeySubmit').on('click', function() {
    var buddy = document.getElementById('peerKeyEnter').value;
    var buddyConn = peer.connect(buddy); //send connection request

    //sending data
    buddyConn.on('open', function() {
      buddyConn.send('this is supposed to work')
    });

  }); //end peerKeySubmit.click
}); //end doc.ready()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44402013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档