Но у меня есть требование: когда пользователь пытается подключиться к этой конечной точке, я хочу выполнить проверку с использованием некоторого токена. Теперь я знаю, что могу переопределить методы afterConnectionEstablished и afterConnectionClosed, но можно ли получить какой-либо параметр запроса или параметр пути при создании соединения сокета, чтобы я мог сохранить информацию о том, какому пользователю принадлежит этот сеанс.
Мне удалось сделать это с помощью аннотаций JavaEE7 следующим образом, но я вынужден использовать Spring:
Код: Выделить всё
@ServerEndpoint("/ss/{token}")
public class SocketServerEndpoint {
@Autowired
private SService ssService;
@OnOpen
public void open(Session session, @PathParam("token")String token) throws SSException {
ssService.processConnectionRequest(token, session);
}
@OnMessage
public String handleMessage(String message, Session session) {
ssService.processMessage(message);
return "message_received";
}
@OnClose
public void close(Session session) {
ssService.removeSession(session);
}
}
Подробнее здесь: https://stackoverflow.com/questions/374 ... connection
Мобильная версия