diff --git a/pom.xml b/pom.xml
index abd4d57..dfb9c70 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,6 +31,10 @@
org.springframework.boot
spring-boot-starter-freemarker
+
+ org.apache.commons
+ commons-lang3
+
com.alibaba
druid
diff --git a/src/main/java/app/bcms/jchat/utils/WsMessageUtil.java b/src/main/java/app/bcms/jchat/utils/WsMessageUtil.java
new file mode 100644
index 0000000..ffa83a9
--- /dev/null
+++ b/src/main/java/app/bcms/jchat/utils/WsMessageUtil.java
@@ -0,0 +1,37 @@
+package app.bcms.jchat.utils;
+
+import app.bcms.jchat.websocket.WebSocketManager;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.lang3.StringUtils;
+
+import javax.websocket.Session;
+import java.util.HashMap;
+import java.util.Map;
+
+public class WsMessageUtil {
+ /**
+ * 发送绑定信息
+ * @param session
+ * @param roomId
+ */
+ public static void bildmsg(Session session, String roomId){
+ JSONObject json = new JSONObject();
+ json.put("type","bild");
+ json.put("client_id",session);
+ if(StringUtils.isAllBlank(roomId)){
+ json.put("room_id","");
+ }else {
+ json.put("room_id",roomId);
+ }
+ String rtmsg = json.toString();
+ WebSocketManager.sentToUser(session,rtmsg);
+ }
+
+ /**
+ * 心跳包
+ */
+ public static void beatHeart(Session session){
+ String rtmsg ="{\"pong\":\"pong\"}";
+ WebSocketManager.sentToUser(session,rtmsg);
+ }
+}
diff --git a/src/main/java/app/bcms/jchat/websocket/WebSocketServer.java b/src/main/java/app/bcms/jchat/websocket/WebSocketServer.java
index 728851d..8709076 100644
--- a/src/main/java/app/bcms/jchat/websocket/WebSocketServer.java
+++ b/src/main/java/app/bcms/jchat/websocket/WebSocketServer.java
@@ -1,5 +1,6 @@
package app.bcms.jchat.websocket;
+import app.bcms.jchat.utils.WsMessageUtil;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -31,16 +32,27 @@ public class WebSocketServer {
@OnMessage
public void onMessage(String message, Session session) {
JSONObject json = JSONObject.parseObject(message);
+ if(json==null){
+ WebSocketManager.sentToUser(session,message);
+ }
+ // 消息类型
String mtype = json.getString("type");
- // 返回的信息
- JSONObject outjson = new JSONObject();
- log.info("msg type :"+mtype);
+ // 房间号
+ String roomId = json.getString("room_id");
+
switch (mtype) {
- case "pong":outjson.put("ping","pong");break;
+// case "pong":outjson.put("ping","pong");break;
+ case "pong":WsMessageUtil.beatHeart(session);break;
+ case "bild":
+ WsMessageUtil.bildmsg(session,roomId);break;
+ case "login":
+ WsMessageUtil.bildmsg(session,roomId);break;
+ default:
+ WebSocketManager.sentToUser(session,message);
}
// send message
- String outjsonstr =outjson.toString();
- WebSocketManager.sentToUser(session,outjsonstr);
+// String outjsonstr =outjson.toString();
+// WebSocketManager.sentToUser(session,outjsonstr);
log.info("来自SessionId:"+session.getId()+"的消息:{}"+message);
}
diff --git a/www/chat.html b/www/chat.html
index 110fe1f..d92b26f 100644
--- a/www/chat.html
+++ b/www/chat.html
@@ -88,7 +88,7 @@