|
@@ -72,25 +72,50 @@ public class WebSocketServerEndpoint {
|
|
|
|
|
|
User user = getRedisClient().get(key, User.class);
|
|
|
|
|
|
+ MessageOut out = new MessageOut();
|
|
|
+ out.setPath(path);
|
|
|
+
|
|
|
if (null == user) {
|
|
|
- WS_LOG.error("[onOpen-FAIL]. path=" + path + ". no login.");
|
|
|
+ out.setStatusCode(403);
|
|
|
+ out.setStatusDesc("no login");
|
|
|
+ sendText(session, path, out);
|
|
|
IOUtils.closeQuietly(session);
|
|
|
return;
|
|
|
} else if (!token.equals(user.getToken())) {
|
|
|
- WS_LOG.error("[onOpen-FAIL]. path=" + path + ". token is wrong.");
|
|
|
+ out.setStatusCode(403);
|
|
|
+ out.setStatusDesc("token is wrong");
|
|
|
+ sendText(session, path, out);
|
|
|
IOUtils.closeQuietly(session);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ out.setStatusCode(200);
|
|
|
+ out.setStatusDesc("success");
|
|
|
+ sendText(session, path, out);
|
|
|
+
|
|
|
+ SessionHolder.setSession(path, user.getKey(), user.getToken(), session);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 发送消息
|
|
|
+ *
|
|
|
+ * @author WANGWEI
|
|
|
+ * @param session
|
|
|
+ * @param path
|
|
|
+ * @param message
|
|
|
+ */
|
|
|
+ private void sendText(Session session, String path, MessageOut out) {
|
|
|
try {
|
|
|
- session.getBasicRemote().sendText("Hello");
|
|
|
- } catch (IOException e) {
|
|
|
- WS_LOG.error("[onOpen-FAIL]. path=" + path + "", e);
|
|
|
+ String message = JsonUtil.toJson(out);
|
|
|
+ if (WS_LOG.isDebugEnabled()) {
|
|
|
+ WS_LOG.error("[sendText]. path=" + path + "; message=" + message);
|
|
|
+ }
|
|
|
+ session.getBasicRemote().sendText(message);
|
|
|
+ } catch (Exception e) {
|
|
|
+ WS_LOG.error("[sendText-FAIL]. path=" + path + "", e);
|
|
|
IOUtils.closeQuietly(session);
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- SessionHolder.setSession(path, user.getKey(), user.getToken(), session);
|
|
|
}
|
|
|
|
|
|
/**
|