Websocket wildfly不工作

Websocket wildfly不工作,websocket,openshift,wildfly-8,Websocket,Openshift,Wildfly 8,我正在尝试使用openshift和wildfly 8.1使用websocket 该应用程序在端口8080上的本地wildfly服务器上工作 但是,我无法使用端口8000在openshift服务器上连接websocket 目前,如果我使用端口转发(rhc port forward),我就能够连接本地转发端口 我认为openshift上的端口转发配置有误 这是我的密码: import javax.websocket.EncodeException; import javax.websocket.Cl

我正在尝试使用openshift和wildfly 8.1使用websocket

该应用程序在端口8080上的本地wildfly服务器上工作

但是,我无法使用端口8000在openshift服务器上连接websocket

目前,如果我使用端口转发(rhc port forward),我就能够连接本地转发端口

我认为openshift上的端口转发配置有误

这是我的密码:

import javax.websocket.EncodeException;
import javax.websocket.CloseReason;
import javax.websocket.EndpointConfig;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.OnError;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/ws/websocket")
public class WebSocketService{
    @OnOpen
    public void onOpen(Session peer, EndpointConfig config) {
        System.err.println("Open");
        peer.getAsyncRemote().sendText("Hello");
    }

    @OnClose
    public void onClose(Session peer, CloseReason reason) {
        System.err.println("Close");
    }

    @OnError
    public void onError(Session peer, Throwable throwable) {
        System.err.println("Error");
    }
}

OpenShift上的WildFly端口应该是8080,而不是您提到的8000

您是否能够连接到localhost:8080并重定向到OpenShift实例


Chrome开发者工具是否显示任何错误?

使用Chrome websocket工具,我尝试了所有端口,8080和8000。使用8000显示连接状态,但我没有收到任何信息。通过端口转发,我能够在端口8080上连接和接收数据。您确认OpenShift上的wildfly websocket端口是8080而不是8000吗?OpenShift上的wildfly应用程序端口是8080。你能在onOpen、onError、onClose上打印消息吗?我已经用上面的代码创建了一个示例应用程序,我尝试连接但没有成功,日志文件中没有任何内容。websocket的url是:ws://wildfly8 houari.rhcloud.com:8080/wildfly8/ws/websocketI我已经修改了onOpen以在连接时接收“Hello”。因此,如果您能够连接,您将收到此消息。对我来说,状态是正在连接,但没有发生任何事情。我确认它在Openshift上不起作用,但在本地和端口转发中起作用。我还确认websocket的Openshift端口不是8080而是8000。我可以连接8000端口!我可以在这个端口上接收“Hello”消息。