无法连接通过sparkjava创建的websocket url

无法连接通过sparkjava创建的websocket url,java,node.js,angular,rxjs,spark-java,Java,Node.js,Angular,Rxjs,Spark Java,我正在尝试使用框架创建websocket。下面是创建websocket的代码 public final class MainWS { static Map<Session, String> USER_SESSION_MAP = new ConcurrentHashMap<>(); static int nextUserNumber = 1; public static void main(String[] args) { port(8090); webSo

我正在尝试使用框架创建websocket。下面是创建websocket的代码

public final class MainWS {
static Map<Session, String> USER_SESSION_MAP = new ConcurrentHashMap<>();
static int nextUserNumber = 1;
public static void main(String[] args) {
    port(8090);
    webSocket("/echo", ChatWebSocketHandler.class);
    init();
}
public static void broadcastMessage(String sender, String message) {
    USER_SESSION_MAP.keySet().stream().filter(Session::isOpen).forEach(session -> {
        try {
            session.getRemote().sendString(String.valueOf(new JSONObject().put("userMessage", "message to pass")
                    .put("userlist", USER_SESSION_MAP.values())));
        } catch (Exception e) {
            e.printStackTrace();
        }
    });
}
运行MainWS程序后,我使用rxjs通过Angular获取websocket连接

代码如下:

    @WebSocket
public final class ChatWebSocketHandler {

    private String sender, msg;

    @OnWebSocketConnect
    private void onConnect(Session user) throws Exception {
        String username = "User" + MainWS.nextUserNumber++;
        MainWS.USER_SESSION_MAP.put(user, username);
        MainWS.broadcastMessage(sender = "Server", msg = (username + " joined the Main"));
    }

    @OnWebSocketClose
    private void onClose(Session user, int statusCode, String reason) {
        String username = MainWS.USER_SESSION_MAP.get(user);
        MainWS.USER_SESSION_MAP.remove(user);
        MainWS.broadcastMessage(sender = "Server", msg = (username + " left the Main"));
    }

    @OnWebSocketMessage
    private void onMessage(Session user, String message) {
        MainWS.broadcastMessage(sender = MainWS.USER_SESSION_MAP.get(user), msg = message);
    }
}
export class WebsocketService {
  socket: WebSocketSubject<WSMessageService>
  constructor() {
    this.socket = new WebSocketSubject("ws://localhost:8090/echo");
    this.socket.subscribe(
      msg => {
        console.log(msg)
      },
      err => {
        console.log(err)
      },
      () => {
        console.log('complete')
      }
    );
  }
  public sendMessage(message: WSMessageService): void {
    this.socket.next(message)
  }
}
导出类WebsocketService{
套接字:WebSocketSubject
构造函数(){
this.socket=newWebSocketSubject(“ws://localhost:8090/echo”);
这是socket.subscribe(
msg=>{
控制台日志(msg)
},
错误=>{
console.log(错误)
},
() => {
console.log('complete')
}
);
}
公共发送消息(消息:WSMessageService):无效{
this.socket.next(消息)
}
}
现在,当我尝试运行我的代码时,我得到如下错误:

    @WebSocket
public final class ChatWebSocketHandler {

    private String sender, msg;

    @OnWebSocketConnect
    private void onConnect(Session user) throws Exception {
        String username = "User" + MainWS.nextUserNumber++;
        MainWS.USER_SESSION_MAP.put(user, username);
        MainWS.broadcastMessage(sender = "Server", msg = (username + " joined the Main"));
    }

    @OnWebSocketClose
    private void onClose(Session user, int statusCode, String reason) {
        String username = MainWS.USER_SESSION_MAP.get(user);
        MainWS.USER_SESSION_MAP.remove(user);
        MainWS.broadcastMessage(sender = "Server", msg = (username + " left the Main"));
    }

    @OnWebSocketMessage
    private void onMessage(Session user, String message) {
        MainWS.broadcastMessage(sender = MainWS.USER_SESSION_MAP.get(user), msg = message);
    }
}
export class WebsocketService {
  socket: WebSocketSubject<WSMessageService>
  constructor() {
    this.socket = new WebSocketSubject("ws://localhost:8090/echo");
    this.socket.subscribe(
      msg => {
        console.log(msg)
      },
      err => {
        console.log(err)
      },
      () => {
        console.log('complete')
      }
    );
  }
  public sendMessage(message: WSMessageService): void {
    this.socket.next(message)
  }
}
Firefox无法与位于ws://localhost:8090/echo的服务器建立连接 错误{目标:WebSocket,isTrusted:true,srcElement:WebSocket,currentTarget:WebSocket,eventPhase:2,气泡:false,cancelable:false,returnValue:true,defaultPrevented:false,Composited:false,…}


根本不知道我到底哪里做错了。如果有人有任何想法,请告诉我。

问题是我在ChatWebSocketHandler类中创建了所有私有方法。在公开所有方法之后,我能够连接并获取websocket对象