小编hli*_*dka的帖子

chrome.socket如何用于广播或多播?

我想创建一个仅用于LAN的Chrome打包应用程序,其中一个实例用作服务器(会话主机),其他实例必须发现服务器并加入会话.这可以用chrome.socket实现吗?

我已经设置了这样的服务器:

var socket = chrome.socket || chrome.experimental.socket;
socket.create('udp', {}, function(createInfo) {
    var publish_socket = createInfo.socketId;
    socket.bind(publish_socket, '225.0.0.42', 42424, function (result) {
        if (result < 0) console.error(result); // this works fine
        socket.recvFrom(publish_socket, null, function(recvFromInfo) {
            console.log(recvFromInfo); // UNABLE TO MAKE THIS HAPPEN
        });
    });
    // Chrome won't let me listen for app window closing
    var cleanup_timer;
    cleanup_timer = setInterval(function(){
            if (requesting_window.closed) {
                socket.destroy(publish_socket);
                clearInterval(cleanup_timer);
            }
        },
        5000
    );
});
Run Code Online (Sandbox Code Playgroud)

套接字是绑定的,我可以在ss -ua:

State      Recv-Q Send-Q      Local Address:Port …
Run Code Online (Sandbox Code Playgroud)

javascript multicast multiplayer broadcast google-chrome-extension

9
推荐指数
1
解决办法
4871
查看次数