繁体   English   中英

使用Mozilla FireFox侦听UDP端口的方法

[英]Ways to listen a UDP port with mozilla firefox

简而言之,我试图编写一个C ++ XPCOM组件,该组件在UDP端口上侦听,并在每次UDP数据包到达时调用回调函数(javascript函数)。

抱歉,答案很明显,但是我想知道用Mozilla在UDP端口上侦听的方法是什么(最好是容易做的事情)?

我知道有一个名为nsIServerSocket的接口,该接口允许将某些侦听器连接到该接口,但这仅用于打开TCP端口。 是否有与此等效的UDP(我可以在其中附加一个每次UDP数据包到达时都会收到通知的侦听器)?

我也知道我可能会使用PR_OpenUDPSocket等。 有没有不用处理线程就可以使用它的方法? (据我了解,我必须在打开端口后返回到调用javascript函数)。

谢谢。

如果编写C ++代码,为什么需要限制自己使用Mozilla的API? 您可以直接使用POSIX套接字API,请参阅如何设置Winsock UDP套接字? 对于一个WinSock示例(Linux和OS X的唯一区别应该是不需要WSAStartup()调用)。 nsIServerSocket主要用于无法选择直接使用系统库的JavaScript代码。

如果您想直接回答问题:不,没有XPCOM API可以创建UDP套接字。 您已经找到了NSPR API( PR_OpenUDPSocket() ),但是它在设计时就考虑了DNS通信,因为这几乎是浏览器唯一的UDP通信。 在这里别指望。

还有一个旁注:您可能要避免使用二进制XPCOM组件,而是创建一个可以通过js-ctypes调用的本机库。 有关详细信息,请参见此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM