作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 SRWebsocket 进行套接字连接。现在,只要应用程序进入前台,我就会调用套接字打开功能,但我不想那样做。我需要先检查连接是否处于事件状态,然后才打开 websocket。有什么办法吗?
- (void)connectWebSocket {
if( self.readyState == SR_OPEN){
NSLog(@"CONNECT%u ",self.readyState);
} else {
NSLog(@"CLOSED %u",self.readyState);
}
[[IXDataBaseManager sharedNetworkDataManager] deleteOldPolls];
NSString *urlString =@"wss://m.hol.com/testing/api/ws/";
if( self.webSocket ) {
[self.webSocket close];
self.webSocket.delegate = nil;
self.webSocket=nil;
}
self.webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]] protocols:@[@"hol-json"]];
self.webSocket.delegate = self;
[self.webSocket open];
NSLog(@"CONNECTOPN%u ",self.readyState);
}
self.readyState 总是返回“0”
最佳答案
这个示例代码可能对您有帮助:
- (void)openSocket {
if (_webSocket.readyState == SR_CLOSED)
{
// _websocket is closed. Open your web socket again
[_webSocket open];
} else {
// _websocket is not closed. check the readyState and perform your task accordingly
}
}
- (void)forceOpenSocket {
_webSocket.delegate = nil;
[_webSocket close];
_webSocket = [[SRWebSocket alloc] initWithURLRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"Input Url"]]];
_webSocket.delegate = self;
// Opening Connection ...
[_webSocket open];
}
关于ios - 如何使用 SRWebsocket 检查网络套接字是否处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30206345/
我正在使用 SRWebsocket 进行套接字连接。现在,只要应用程序进入前台,我就会调用套接字打开功能,但我不想那样做。我需要先检查连接是否处于事件状态,然后才打开 websocket。有什么办法吗
我正在使用 SRWebSocket 在 iOS 中打开一个 websocket 连接。但是,如果我有时让应用程序保持空闲状态,连接会自动关闭。之后,当我尝试发送任何数据时,websocket 连接失败
我是一名优秀的程序员,十分优秀!