赞
踩
@MessageMapping("/test")
public void test(WebSocketMessage message){
message.setTimeStamp(new Date().getTime());
if (!message.getContent().equals("窗口抖动"))
userService.insertMsg(Integer.parseInt(message.getRoomId()),Integer.parseInt(message.getUid()),message.getContent(),message.getImg(),message.getName());
String auth = userDao.getRoomAuth(Integer.parseInt(message.getRoomId()));
String[] allUsers = auth.substring(1,auth.length()-1).split("\\|");
for(int obj: WebSocketConfig.users){
for (String user:allUsers){
if (Integer.parseInt(user) == obj){
messagingTemplate.convertAndSend("/topic/" + Integer.parseInt(user),message);
}
}
}
}
其中, messagingTemplate用于将消息转发给监听某一socket接口的用户,以依赖注入的方式导入在Controller类中
@Autowired
SimpMessagingTemplate messagingTemplate;
message.setTimeStamp(System.currentTimeMillis());
message.setContent("我同意了你的好友请求");
message.setImg(userDao.getMyImg(toUid));
message.setName(userDao.getMyName(toUid));
message.setRoomId(roomId+"");
message.setUid(toUid+"");
messagingTemplate.convertAndSend("/topic/" + toUid,message);
messagingTemplate.convertAndSend("/topic/" + fromUid,message);
message.setTimeStamp(System.currentTimeMillis());
message.setContent("请求加为好友");
message.setUid(fromUid+"");
message.setName(userDao.getMyName(fromUid));
messagingTemplate.convertAndSend("/topic/" + toUid,message);
这两个消息转发的请求将在前端进行特殊处理(这里应该设置message的一个type选项,之前没有考虑,所以前端通过content判断)
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。