package com.kidgrow.websocket.controller; import com.kidgrow.websocket.server.SocketServer; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import java.util.List; /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020
* * @Description: 开启websocket消息推送(个人和广播)
* @Project:
* @CreateDate: Created in 2020/3/1 16:05
* @Author: liuke */ @Controller public class WebSocketController { @Autowired private SocketServer socketServer; /** * * 客户端页面 * @return */ @RequestMapping(value = "/index") public String idnex() { return "index"; } /** * * 服务端页面 * @param model * @return */ @RequestMapping(value = "/admin") public String admin(Model model) { int num = socketServer.getOnlineNum(); List list = socketServer.getOnlineUsers(); model.addAttribute("num",num); model.addAttribute("users",list); return "admin"; } /** * 个人信息推送 * @return */ @RequestMapping("sendmsg") @ResponseBody public String sendmsg(String msg, String username){ //第一个参数 :msg 发送的信息内容 //第二个参数为用户长连接传的用户人数 String [] persons = username.split(","); SocketServer.SendMany(msg,persons); return "success"; } /** * 推送给所有在线用户 * @return */ @RequestMapping("sendAll") @ResponseBody public String sendAll(String msg){ SocketServer.sendAll(msg); return "success"; } }