springboot结合netty-socketio实现消息实时推送总结

最近做了消息实时推送的功能,使用到了netty-socketio,关于有关的资料和遇到的问题总结如下

1、大神们写好的demo,这是最重要的,大家可以下载,在此基础上修改。

https://github.com/mrniko

关于此过程中遇到的坑就是socket传输中文的问题,项目中的issue也有提到,这里我就提一下

就是连接的时候,Polling很不友好,建议你用Websocket(至于socket几种方式自行百度,不赘述了)

例如使用java模拟访问

String url = "http://192.168.1.130:8800";
IO.Options options = new IO.Options();
options.transports = new String[]{"websocket"};
options.reconnectionAttempts = 2;
// 失败重连的时间间隔
options.reconnectionDelay = 1000;
// 连接超时时间(ms)
options.timeout = 500;
// userId: 唯一标识 传给服务端存储
final Socket socket = IO.socket(url + "?userId=1", options);

2、使用过程会有namespace 、room等等概念有疑问

  建议先去官网查看 

https://socket.io/

 或者可以查看如下地址

https://blog.csdn.net/lijiecong/article/details/50781417

3、懒人必备,netty-socketio使用API

https://blog.csdn.net/arsiya_jerry/article/details/78731347

4、socket聊天遇到的坑

   (1)当获取客户端所进入的房间,第一个会是一个""

       Set<String> rooms = client.getAllRooms();

       所以我们应该从index = 1开始取值

    (2)当客户端加入房间后,客户端掉线后,会自动从房间退出,所以重连的时候需要重新加入房间

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值