我在java中创建了一个websocket服务器,glassfish服务器将其托管在端口8080。websocket服务器的地址是ip:8080/EchoChamber/echo 我使用以下命令创建了这个 websocket 服务器 link 我的客户是一些嵌入式微 Controller 和我基于网络的应用程序,我可以在其中查看结果(在 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
}
问题是,当我在本地主机时,我可以在应用程序上查看结果,但当我在远程桌面时,Web 浏览器会给出错误:远程 IP 的页面未定义。谁能告诉我如何将远程主机浏览器连接到 websocket 服务器。我尝试从远程计算机访问端口 ip:8080 并且可以访问它,这意味着 glass Fish 服务器没有任何限制。 websocket 施加了一些限制。谁能帮帮我。
最佳答案
这是一段 javascript 代码,而不是 java。我相信 javascript 对跨站点脚本有限制。这就是为什么它适用于本地主机而不适用于其他主机。我认为您可以禁用浏览器中的安全设置,它可能会起作用,但通常是被禁止的。
关于java - 如何从远程机器访问websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30395457/