在Chrome应用中重用UDP套接字的地址

the*_*enp 3 javascript sockets google-chrome google-chrome-extension google-chrome-app

我正在开发基于UDP多播构建的现有网络库的Chrome实现.希望彼此通信的客户端绑定到相同的多播地址和端口.为避免地址冲突,库实现在创建套接字时设置"重用地址"选项.例如,Java实现包括如下所示的内容:

...
MulticastSocket socket = new MulticastSocket(port);
socket.setReuseAddress(true);
socket.joinGroup(address);
...
Run Code Online (Sandbox Code Playgroud)

不幸的是,chrome.sockets.udpAPI 似乎没有相应的选项.这意味着如果我在本地计算机上的另一个进程中运行网络库(一个相对常见的用例),我在尝试绑定Chrome应用程序中的套接字时会出错.回调来自chrome.sockets.udp.bind我的错误代码-147.

我简要介绍了Native Client,但发现一些信息表明它还不支持UDP多播.

有没有办法在Chrome应用程序中重用UDP多播地址?或者其他浏览器可能提供该功能?

Xan*_*Xan 5

我担心,对于Chrome来说,这是一个已知的功能请求,但是半年后没有显示任何进展.截至目前,API中确实没有相应的选项.

您可以使用Native Messaging Host绕过所有这一切,但是根据您希望部署应用程序/扩展程序的方式,它可能会非常笨重.

可能是Firefox的相关(也是未完成)功能请求.