iOS Socket.IO-Client连接失败,不走回调

最近做一款直播类app,发送弹幕和礼物啥的用的socket,但是socket怎么都连接不上,也没走任何回调方法,发弹幕的时候会走 error回调,返回error : Tried emitting when not connected,后来检查了下发现是SocketManager和SocketIOClient被提前释放了。看下原代码:

SocketManager  *manager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @NO,@"forcePolling":@YES,@"reconnectWait":@1}];
    chatSocket = manager.defaultSocket;

这里manager和chatSocket被提前释放,自然不会出现回调。处理方法就是把这两个改成全局成员变量就行:

{
    SocketIOClient *_chatSocket;
    SocketManager *_skManager;
}
//  实现代码
_skManager = [[SocketManager alloc] initWithSocketURL:url config:@{@"log": @NO,@"forcePolling":@YES,@"reconnectWait":@1}];
_chatSocket = _skManager.defaultSocket;

这样改完后就可以了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。