Yalnızca LAN için kullanılan bir Chrome Paket Uygulaması oluşturmak istiyorum; burada bir örnek sunucu olarak hizmet veriyor (oturum ana bilgisayarı) ve diğer örnekler sunucuyu bulup oturuma katılmalıdır. Bu chrome.socket ile elde edilebilir mi? Ben ss -ua
görebiliyorum,Yayınlama veya çoklu yayın için chrome.socket nasıl kullanılabilir?
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
);
});
soket bağlı:
böyle sunucuyu kurduktan
State Recv-Q Send-Q Local Address:Port Peer Address:Port
UNCONN 0 0 225.0.0.42:42424 *:*
Fakat sunucu asla herhangi bir veri almak gibi görünüyor. Hiçbir başarı ile ancak nc -uv 225.0.0.42 42424
kullanarak bazı veri ve chrome.socket API gönderme denedi:
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);
});
});
Bu sunucu tarafında istemci tarafında ve hiçbir şey hata kodu -15
sonuçlanır.
Bir yere yerleştirilmiş çok noktaya yayın bayrağı olması gerektiğinden şüpheleniyorum ama bulamadım.
ben adres daha sonra (keşfettiğiniz gibi, rastgele liman işleri ile 0.0.0.0
)
[Belki bu bağlantı size yardımcı olacaktır] (https://github.com/KensakuKOMATSU/chrome-upnp). –
@Cicada Bağlantı için teşekkürler. 'SendTo' satırından önce socket.bind (socketId, 0.0.0.0", 0, function (res) {...}) 'yi ekledim ve veri gönderilirken şikayette bulunmayı bıraktım. Maalesef, çok noktaya yayın paketlerine ** nasıl ** dinleyeceğimi bilmiyorum. – hlidka