如何在Java EE @ServerEndpoint中获取session.getRequestURI()的端口

时间:2018-05-17 19:18:33

标签: eclipse tomcat java-ee java-websocket

在我的Java EE - 带有tomcat9的Eclipse Oxygen环境中,端口总是-1(应该是62114)!

@OnOpen
@Encoded
public void onOpen(@PathParam("BenutzerID") Long BenutzerID, @PathParam("Grad") long Kontaktgrad,
        @PathParam("Accesskey") String Accesskey, Session session, EndpointConfig config) {

    this.port = session.getRequestURI().getPort(); 

1 个答案:

答案 0 :(得分:0)

如果未定义端口,getPort()方法将返回-1。当使用默认端口时就是这种情况。

  • 80httpws URI方案的默认端口。
  • 443httpswss URI方案的默认端口。

来自RFC 6455,定义WebSocket协议的文档:

  

默认情况下,WebSocket协议使用端口80作为常规WebSocket      通过隧道传输的WebSocket连接的连接和端口443      传输层安全性(TLS)。