Как chrome.socket можно использовать для трансляции или многоадресной рассылки?

Я хочу создать Chrome Packaged App, используемое только для локальной сети, где один экземпляр служит сервером (хост сеанса), а другие должны обнаружить сервер и присоединиться к сеансу. Может ли это быть достигнуто с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
    );
});

Сокет связан, я вижу это в:ss -ua

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port
UNCONN     0      0           225.0.0.42:42424            *:*

Но сервер никогда не получает никаких данных. Я попытался отправить некоторые данные, используяnc -uv 225.0.0.42 42424 и API chrome.socket, но безуспешно:

socket.create('udp', {}, function(socketInfo) {
   var socketId = socketInfo.socketId;
   socket.sendTo(socketId, str2ab("discovering"), '225.0.0.42', 42424, function(writeInfo) {
       if (writeInfo.bytesWritten < 0) console.error(writeInfo);
   });
});  

Это приводит к коду ошибки-15 на стороне клиента и ничего на стороне сервера.

Я подозреваю, что где-то должен быть установлен флаг многоадресной рассылки, но я не могне могу найти это.

Я использую Chrome версии 23.0.1246.0 dev

Ответы на вопрос(1)

Ваш ответ на вопрос