2015-05-22 151 views
1

我已經創建了在Java和GlassFish服務器的WebSocket服務器訪問的WebSocket託管它的在端口8080 WebSocket的服務器的地址爲IP:8080/EchoChamber /呼應 我創造了這個服務器的WebSocket使用以下內容link 我的客戶端是一些嵌入式微控制器和基於Web的應用程序,我在這裏查看結果(在Chrome IE瀏覽器中)。 我的客戶端應用程序正在使用一些Java腳本來建立連接的WebSocket服務器:如何從遠程計算機

<script type="text/javascript"> 
var webSocket = 
new WebSocket("ws://ip:8080/EchoChamber/echo"); 

webSocket.onerror = function(event) { 
    onError(event) 
}; 

webSocket.onopen = function(event) { 
    onOpen(event) 
}; 

webSocket.onmessage = function(event) { 
    onMessage(event) 
}; 

function onMessage(event) { 
//display message in textboxes 
} 

的問題是,當我在本地主機,我可以查看我的應用程序的結果,但是當我在遠程桌面網絡瀏覽器給出遠程ip頁面未定義的錯誤。任何人都可以告訴我如何將我的遠程主機瀏覽器連接到websocket服務器。我嘗試從遠程機器訪問端口ip:8080,並且可以訪問它,這意味着玻璃魚服務器沒有限制。它是一些限制的websocket。誰能幫我嗎。

回答

1

這是一個javascript代碼而不是java。我相信JavaScript對跨站腳本有限制。這就是爲什麼它在本地主機上工作,並不適用於其他主機。我認爲你可以禁用瀏覽器中的安全設置,它可能會工作,但通常是禁止的。

+0

我說客戶端上java腳本,其中websocket服務器是用java編寫的 –

+0

這就是問題所在。如果網站在你的電腦上打開,但它試圖打開一個websocke到另一個IP它將會失敗。該網站應該託管在某個服務器上,並且websocket必須位於同一臺服務器上。 –

+0

實際上,websocket位於glassflish服務器,並且該網站位於apache服務器上。 :( –

0
包含JavaScript

Html頁面應該得到來自同一個域呈現否則瀏覽器的安全性將不會允許您連接到不同的主機(主機這並沒有爲來自不同領域的內容或可能)