我有一个使用https://github.com/socketio/socket.io-client-swift连接到socket.io服务器的iOS应用。
如果我打开然后把我的应用程序放在我的房子连接到wifi的背景,然后走出街道的wifi范围,然后打开应用程序,我失去连接。尽管应用程序尝试重复连接,但它不会重新连接。我已经验证它正在尝试使用断点重新连接。只关闭应用程序并重新启动它才会连接。但是,如果我只是在背景中使用应用程序关闭wifi,它会保持连接状态(快速切换到蜂窝电话我假设)。如果我打开飞行模式然后再将其关闭则重新连接。
无论是启动时连接还是重新连接,都会调用相同的代码。以下是相关代码:
if( socketIOSwift != nil ) { [socketIOSwift disconnect];
[socketIOSwift removeAllHandlers];
socketIOSwift = nil; }
socketIOSwift = [[SocketIOClient alloc] initWithSocketURL:url config:@{@"secure": @YES, @"log": @YES, @"forceWebsockets": @YES, @"cookies": cookies, @"ForceNew": @YES, @"ReconnectAttempts": @50, @"connectParams": properties}];
我一直在想它是客户端,但现在我想知道它是不是socket.io。
有什么想法吗?