WebSocket 长链接
WebSocket是一种在单个TCP连接上进行全双工通信的协议。支持给一人或多人推送信息以及全部推送信息。
1.添加依赖
html
<dependency>
<groupId>com.hisense.pangea</groupId>
<artifactId>pangea-common-websocket</artifactId>
<version>2.8.3</version>
</dependency>
2.配置application.yml
js
pangea:
websocket:
#以下参数为必要参数
user-name: sys_user #服务端的userName,因为用的是set,每个客户端的username必须不一样,否则会被覆盖
3.WebSocket配置文件:
js
@Configuration
public class WebSocketConfig {
@Bean
public ServerEndpointExporter serverEndpointExporter(){
return new ServerEndpointExporter();
}
}
使用示例
js
/**
* 个人信息推送(推送给一个或多个用户)
* @return
*/
@RequestMapping("sendmsg")
@ResponseBody
public String sendmsg(String msg, String username){
//第一个参数 :msg 发送的信息内容
//第二个参数为用户长连接传的用户人数
String[] persons = username.split(",");
SocketServer.SendMany(msg,persons);
return "success";
}
js
/**
* 推送给所有在线用户
* @return
*/
@RequestMapping("sendAll")
@ResponseBody
public String sendAll(String msg){
SocketServer.sendAll(msg);
return "success";
}