java - 如何从远程机器访问websocket

标签 java html websocket glassfish

我在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/

相关文章:

javascript - 通过 Websocket 到 WebGL 与 Canvas 的图像传输,也许还可以与工作人员一起传输

java - 在构造函数之外添加的组件不会出现

python - 通过标签自定义 BeautifulSoup 的 prettify

scalability - Websocket可扩展性,广播问题

Python Websocket - 具有时间和消息限制

javascript - 下拉,适应 parent 的宽度?

java - 把触摸屏分成4个象限?

java - Makefile 在目录中编译 java

java - 如何将附加属性设置为 boolean 值

JavaScript 仅适用于一个 div