Browse Source

更新

master
453530270@qq.com 1 year ago
parent
commit
84594e36e1
  1. 4
      pom.xml
  2. 37
      src/main/java/app/bcms/jchat/utils/WsMessageUtil.java
  3. 24
      src/main/java/app/bcms/jchat/websocket/WebSocketServer.java
  4. 2
      www/chat.html

4
pom.xml

@ -31,6 +31,10 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>

37
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);
}
}

24
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);
}

2
www/chat.html

@ -88,7 +88,7 @@
</div>
</div>
<script type="text/javascript">
var aa ="${ctx}"
if (typeof console == "undefined") {
this.console = {
log: function (msg) {

Loading…
Cancel
Save