如何从JavaScript客户端向Jetty WebSocket发送请求标头

时间:2015-04-24 10:14:07

标签: java javascript saas jetty-9 java-websocket

如何从JavaScript客户端向Jetty WebSocket发送请求标头?

我在做什么?

在客户端。

  1. 需要在客户端的请求标头中添加服务名称和服务版本
  2. 发送至服务器
  3. 在服务器端。

    1. 从请求标题中识别服务
    2. 使用它创建相应的输入翻译器(使用GSON)
    3. 使用该翻译器创建服务输入
    4. 致电该服务。
    5. 我可以使用org.eclipse.jetty.websocket.api.annotations.WebSocket来获取服务器端的服务名称和版本。但是...... 如何在客户端设置标题信息?

      @OnWebSocketMessage
      public void onText(Session session, String message) {
          if (session.isOpen()) {
              System.out.println(session.getUpgradeRequest().getHeader("service"));
              System.out.println(session.getUpgradeRequest().getHeader("version"));
      
              System.out.printf("Echoing back message [%s]%n", message);
              session.getRemote().sendString(message, null);
          }
      }
      

      感谢您的支持......

1 个答案:

答案 0 :(得分:0)

不幸的是,你做不到。标准WebSocket JavaScript API不提供自定义HTTP标头的方法。另请参阅heroku开发中心的this document