PeerJS对等体未接收数据

时间:2014-11-16 15:07:28

标签: javascript peerjs

我打算使用PeerJs来创建P2P连接(数据和后来的视频)。 我检查了教程并使用了以下代码。

在browserA(Chrome 38)中:

var local;
var remote;

function peerJsInit() {
    //listening host
    local = new Peer(
    {
        key: 'myPeerJSKey'
    });
    local.on('connection', function(conn) {
        alert('Connection is open');
        conn.on('data', function(data) {
            alert('Data: '+data);
        });
    });
}



function peerSend() {
    remote = new Peer(
    {
        key: 'myPeerJSKey',
        debug: true
    });
    var c = remote.connect('remoteId');
    c.on('open', function() {
        alert('connected');
        c.send(' peer');
    });

}

在browserB(Chrome 38)中:

var local;
var remote;

function peerJsInit() {
    //listening host
    local = new Peer({
        key: 'myPeerJSKey'
    });
    local.on('connection', function(conn) {
        alert('Connection is open');
        conn.on('data', function(data) {
            alert('Data: '+data);
        });
    });
}



function peerSend() {
    remote = new Peer({
        key: 'myPeerJSKey',
        debug: true
    });
    var c = remote.connect('remoteId');
    c.on('open', function() {
        alert('connected');
        c.send(' peer');
    });

}

显示 Connection已打开消息,但 Data 已连接消息从未显示过。

你能告诉我应该改变什么吗?

1 个答案:

答案 0 :(得分:2)

似乎我忘了添加另一个回调。 即使在回调丢失的情况下,JS编译也没有问题,这很好...... g * rbage ...

所以不要这样:

 local.on('connection', function(conn) {
        alert('Connection is open');
        conn.on('data', function(data) {
            alert('Data: '+data);
        });
    });

我必须使用它:

 local.on('connection', function(conn) {
        alert('Connection is open');
        conn.on('open',function(){
        conn.on('data', function(data) {
            alert('Data: '+data);
        });
       });
    });