我创建了一个基本的java EE 7聊天应用程序 - 使用Intellij Ultimate 14 - 允许用户发送消息和接收消息(使用会话,没有空间,没有用户标识)。
我已经在Windows 8.1上的glassfish 4.1服务器上单独尝试了该应用程序:它运行良好。
现在我试图在虚拟机托管的ubuntu 14.04服务器(同样的glassfish和java ee版本)中运行它,这样我以后就可以集中应用程序了。
当我在ubuntu服务器上安装应用程序时,使用基于Web的界面(我从windows主机访问),我可以在chrome中加载应用程序,但websocket似乎没有正确连接因此我根本无法发送任何消息。 顺便说一句,我已经尝试连接安装在窗户上的玻璃鱼上的websocket,它工作正常。
以下是将websocket连接到服务器的应用程序的html端:
var host = "ws://" + document.location.host + "/GlassFish7_war/test";
wsocket = new WebSocket(host);
wsocket.onmessage = onMessage; // the function that displays received messages
这是接受套接字的服务器的相关部分:
@ServerEndpoint("/test")
public class MyEndPoint {
@OnOpen
public void openConnection(Session session) {
session.getBasicRemote().sendText("hello there !");
// [...]
}
}
你猜对了:我从来没有收到过你好的那样!"客户端的消息。
我认为问题可能来自虚拟机网络的配置,但我似乎无法弄清楚如何处理它。目前我有一个桥接和NAT适配器。
非常感谢任何帮助!
非常感谢!