iOS 使用SocketIO 实现聊天功能-倾城孤月


首先,第一步,导入框架

pod 'Socket.IO-Client-Swift'

pod 'EBBannerView'//自定义弹框

 

2.登录SocketIO以连接服务器

//连接

 [SocketIOClientHandler handler].manager=[[SocketManager alloc]initWithSocketURL:[NSURL URLWithString:@"http://192.168.0.108:9001"] config:@{@"log": @NO, @"forcePolling": @NO,@"doubleEncodeUTF8":@true}];

doubleEncodeUTF8 设为TRUE为了避免中文乱码

 

 SocketIOClient *socket=[SocketIOClientHandler handler].manager.defaultSocket;

    [SocketIOClientHandler handler].client=socket;

    

    [[SocketIOClientHandler handler].manager connectSocket:[SocketIOClientHandler handler].client];

    [[SocketIOClientHandler handler].manager connect];

    //监听连接成功

    [[SocketIOClientHandler handler].client on:@"connect" callback:^(NSArray * _Nonnull data, SocketAckEmitter * _Nonnull ack) {

        NSLog(@"socket connect = :%@",data);

 

    }];

   //发送消息 

[[SocketIOClientHandler handler].client emit:@"shopLogin" with:@[dict]];

 

  //监听断开连接

    [[SocketIOClientHandler handler].client on:@"disconnect" callback:^(NSArray * _Nonnull data, SocketAckEmitter * _Nonnull ack) {

        NSLog(@"socket disconnect=:%@",data);

   }];

  //断开连接

   [[SocketIOClientHandler handler].manager disconnect];

      [[SocketIOClientHandler handler].manager removeSocket:[SocketIOClientHandler handler].client];

 

  在监听之后连接

   [[SocketIOClientHandler handler].client connect];

 //监听接收数据

    [[SocketIOClientHandler handler].client on:@"recContent" callback:^(NSArray * _Nonnull data, SocketAckEmitter * _Nonnull ack) {

        

        NSLog(@"data is %@",data);

    

        }];

提示:只需要登录一遍,不需要重复登录

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM