我正在使用来自ISBX的git库,并在我的swift应用程序中集成了视频通话功能,所有工作都正常它只是一个主要的阻止程序,在2分钟的时间后,连接会自动终止并出现以下错误: -
WebSocket关闭代码:1001原因:流端遇到wasClean:0
详细错误
2016-07-18 12:44:20.687 testOttaApp-QA [527:74428] WebSocket因代码关闭:1001原因:遇到流结束了清洁:0
2016-07-18 12:44:20.687 testOttaApp-QA [527:74428] C-> RS:BYE
2016-07-18 12:44:20.687 testOttaApp-QA [527:74428] url = https://apprtc.appspot.com/leave/ootaTest82/54508636
2016-07-18 07:14:21.503 testOttaApp-QA [527:16e893000] INFO MMINTEGRATION CMediaPlatformWrapper.cpp:937
CMediaPlatformWrapper :: DevicePropertyChanged名为
2016-07-18 07:14:21.504 testOttaApp-QA [527:16e893000] INFO MMINTEGRATION CMediaPlatformWrapper.cpp:969使用类型4调用的CMediaCallWrapper :: fireMediaPlatformEvent() 断开!
2016-07-18 07:14:21.514 testOttaApp-QA [527:1a05f7000] INFO APPLICATION CUcmpConversationsManager.cpp:2348 CUcmpConversationsManager :: onEvent()。 EventType:4
2016-07-18 12:44:22.989 testOttaApp-QA [527:74428]从客房服务器取消注册。
答案 0 :(得分:1)
最后,我的一位开发人员解决了这个问题。
在ARDWebSocketChannel.m课程中,他不断对服务器执行ping操作,以避免连接中断。
#pragma mark - SRWebSocketDelegate
- (void)webSocketDidOpen:(SRWebSocket *)webSocket {
NSLog(@"WebSocket connection opened.");
self.state = kARDWebSocketChannelStateOpen;
if (_roomId.length && _clientId.length) {
[self registerWithCollider];
// Sending autoping to server
[self startConnectionCheckTimer];
}
}
// Checking for WSconnection by Sending Scheduled Ping
- (void)startConnectionCheckTimer {
if (!_timer) {
_timer = [NSTimer scheduledTimerWithTimeInterval:30.0f
target:self
selector:@selector(sendPing:)
userInfo:nil
repeats:YES];
}
}
- (void)stopConnectionCheckTimer {
if ([_timer isValid]) {
[_timer invalidate];
}
_timer = nil;
}
- (void)sendPing:(id)sender
{
if(_socket != nil)
{
[_socket sendPing:nil];
}
}