名字
1 .pom.xml 增加?东西
<dependency>
<groupId>org.t-io</groupId>
<artifactId>tio-websocket-spring-boot-starter</artifactId>
<version>3.5.0.v20190822-RELEASE</version>
</dependency>
2 .application.properties 增加?东西
# tio.websocket
tio.websocket.server.port=9876
tio.websocket.server.heartbeat-timeout=60000
#是否支持集群,集群开启需要redis
tio.websocket.cluster.enabled=false
tio.websocket.cluster.redis.ip=127.0.0.1
tio.websocket.cluster.redis.port=6379
3.启动类增加 @EnableTioWebSocketServer
编写 MyWebSocketMsgHandler
public class MyWebSocketMsgHandler implements IWsMsgHandler {
@Override
public HttpResponse handshake(HttpRequest httpRequest, HttpResponse httpResponse, ChannelContext channelContext) throws Exception {
return httpResponse;
}
@Override
public void onAfterHandshaked(HttpRequest httpRequest, HttpResponse httpResponse, ChannelContext channelContext) throws Exception {
log.info("onAfterHandshaked");
}
@Override
public Object onBytes(WsRequest wsRequest, byte[] bytes, ChannelContext channelContext) throws Exception {
log.info("接收到bytes消息");
return null;
}
@Override
public Object onClose(WsRequest wsRequest, byte[] bytes, ChannelContext channelContext) throws Exception {
Tio.remove(channelContext, "receive close flag");
return null;
}
@Override
public Object onText(WsRequest wsRequest, String s, ChannelContext channelContext) throws Exception {
return null;
}
}
服务器主动推送
@Autowired
private TioWebSocketServerBootstrap bootstrap;
@GetMapping("/msg")
public void pushMessage(String msg) {
if (StrUtil.isEmpty(msg)) {
msg = "hello tio websocket spring boot starter";
}
Tio.sendToUser(bootstrap.getServerTioConfig(),"xxx用户id",WsResponse.fromText(msg, "utf-8"));
}
打完收工 简单集成结束
最新评论 我的评论
t-io为本站提供HTTP、WebSocket、Socket、页面渲染与压缩等服务,nginx为本站提供反向代理服务
© 2017-2021 钛特云 版权所有 | 浙ICP备17032976号 | 浙公网安备 33011802002129号