1

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

在浏览器A(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');
    });

}

在浏览器B(​​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 is open消息显示,但Dataconnected消息从不显示。

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

4

1 回答 1

4

看来我忘了添加另一个回调。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);
        });
       });
    });
于 2014-11-18T14:08:55.143 回答