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<br>
|
*
|
* @Description: 开启websocket消息推送(个人和广播)<br>
|
* @Project: <br>
|
* @CreateDate: Created in 2020/3/1 16:05 <br>
|
* @Author: <a href="4345453@kidgrow.com">liuke</a>
|
*/
|
@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<String> 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";
|
}
|
}
|