簡體   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