2013-10-25 149 views
1

所以我已經非常徹底地搜索並嘗試了很多東西來創建一個TCP或UDP偵聽器,用於瀏覽器中的Chrome.socket API。我現在很困惑。瀏覽器中的Chrome.socket偵聽器

  • 的WebSockets
  • WebTCP插座
  • 的WebRTC
  • PeerJS
  • 節點在Chrome擴展

還有幾個小的期權淨模塊:到目前爲止,我已經嘗試使用。到目前爲止,這些'選項'似乎都不能正常工作。我得到的最接近的是在瀏覽器中獲得零狀態。服務器接受連接,但瀏覽器中套接字的readyState保持爲零(意味着仍然連接)。

我有兩個問題。

可能嗎? 甚至有可能通過只有客戶端JavaScript在Sperate網站上偵聽來自Chrome擴展的傳入TCP/UDP連接?

如何? 如果是這樣,我將如何能夠創建此?

+0

你究竟是什麼意思?「甚至有可能在瀏覽器端監聽來自Chrome擴展的傳入TCP/UDP連接?」你期望聽到什麼? Chrome應用程序?一個網站?在安裝了特定Chrome應用的瀏覽器中運行的網站?你期望做什麼傳入連接? Chrome應用程序?一個網站?一個應用程序? – apsillers

+0

A @ apsillers我想要做以下事情:鉻擴展(=服務器)創建套接字並等待客戶端連接 - >網站(=客戶端)創建套接字並要求連接到某個地址+端口,其中鉻.socket正在監聽 - > chrome.socket服務器接受連接並將消息發送回網站 - >在網站上記錄此消息。 –

+1

@ user2730863:AFAIK,Chrome擴展程序可以更直接地與頁面JS進行通信。 – SLaks

回答

0

出於安全原因,您將永遠無法在純客戶端代碼中創建原始套接字。

像WebSockets或WebRTC的協議要求服務器明確確認協議並允許您連接。

+1

這個問題是在瀏覽器擴展的上下文中提出的。 「瀏覽器端」代碼是什麼意思? Chrome應用程序當然可以使用['chrome.socket'](https://developer.chrome.com/apps/socket.html)創建套接字。 –

+0

@Rob_W對於瀏覽器端代碼,我的意思是可以直接在瀏覽器中運行而不使用鉻擴展名的JavaScript。所以只需客戶端JavaScript。對不起,我的模糊描述。 –

+0

@RobW:No;它實際上不是。 – SLaks

相關問題