|
@ -40,6 +40,7 @@ public class WebsocketHandler extends TextWebSocketHandler { |
|
|
/** |
|
|
/** |
|
|
* 建立连接后 |
|
|
* 建立连接后 |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
@Override |
|
|
public void afterConnectionEstablished(WebSocketSession session) { |
|
|
public void afterConnectionEstablished(WebSocketSession session) { |
|
|
try { |
|
|
try { |
|
|
String uid = (String) session.getAttributes().get("uid"); |
|
|
String uid = (String) session.getAttributes().get("uid"); |
|
@ -75,10 +76,12 @@ public class WebsocketHandler extends TextWebSocketHandler { |
|
|
/** |
|
|
/** |
|
|
* 消息处理,在客户端通过Websocket API发送的消息会经过这里,然后进行相应的处理 |
|
|
* 消息处理,在客户端通过Websocket API发送的消息会经过这里,然后进行相应的处理 |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
@Override |
|
|
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) { |
|
|
public void handleMessage(WebSocketSession session, WebSocketMessage<?> message) { |
|
|
try { |
|
|
try { |
|
|
if (message.getPayloadLength() == 0) |
|
|
if (message.getPayloadLength() == 0) { |
|
|
return; |
|
|
return; |
|
|
|
|
|
} |
|
|
Message msg = new Gson().fromJson(message.getPayload().toString(), Message.class); |
|
|
Message msg = new Gson().fromJson(message.getPayload().toString(), Message.class); |
|
|
msg.setDate(new Date()); |
|
|
msg.setDate(new Date()); |
|
|
sendMessageToUser(msg.getTo(), new TextMessage(new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create().toJson(msg))); |
|
|
sendMessageToUser(msg.getTo(), new TextMessage(new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create().toJson(msg))); |
|
@ -98,6 +101,7 @@ public class WebsocketHandler extends TextWebSocketHandler { |
|
|
/** |
|
|
/** |
|
|
* 消息传输错误处理 |
|
|
* 消息传输错误处理 |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
@Override |
|
|
public void handleTransportError(WebSocketSession session, Throwable exception) { |
|
|
public void handleTransportError(WebSocketSession session, Throwable exception) { |
|
|
try { |
|
|
try { |
|
|
if (session.isOpen()) { |
|
|
if (session.isOpen()) { |
|
@ -128,6 +132,7 @@ public class WebsocketHandler extends TextWebSocketHandler { |
|
|
/** |
|
|
/** |
|
|
* 关闭连接后 |
|
|
* 关闭连接后 |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
@Override |
|
|
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) { |
|
|
public void afterConnectionClosed(WebSocketSession session, CloseStatus closeStatus) { |
|
|
try { |
|
|
try { |
|
|
LOG.warn("Websocket:" + session.getId() + "已经关闭"); |
|
|
LOG.warn("Websocket:" + session.getId() + "已经关闭"); |
|
@ -153,6 +158,7 @@ public class WebsocketHandler extends TextWebSocketHandler { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
public boolean supportsPartialMessages() { |
|
|
public boolean supportsPartialMessages() { |
|
|
return false; |
|
|
return false; |
|
|
} |
|
|
} |
|
|