2015-11-18 75 views
0

在我們的iOS應用中使用SignalR-ObjC的其中一個應用中,連接正常工作。 由於iOS中的應用程序在後臺無響應,無法接收信號消息。所以我們下面的實現:停止並啓動SignalR-Objc SRHubConnection多次使連接不穩定

SRHubConnection *connection = [[SRHubConnection alloc] initWithURLString:url useDefault:NO] 
  • 應用程序切換到後臺:連接停止]。停止連接。
  • 應用程序來到前臺:[連接開始];創建一個新的連接對象並啓動它。 。

但是,如果我們連續在背景和前景之間切換3到4次,使連接不穩定並且不再連接並拋出跟隨錯誤。

[HTTP_BASED_TRANSPORT] 
Cleandisconnectfailed.ErrorDomain=NSURLErrorDomainCode=-1001"The request timed out."UserInfo={ 
    NSUnderlyingError=0x159283ae0{ 
    ErrorDomain=kCFErrorDomainCFNetworkCode=-1001"The request timed out."UserInfo={ 
     NSErrorFailingURLStringKey=http: //websiteurl.net/signalr/abort?clientProtocol=1.3.0.0&connectionData=%5B%7B%22Name%22%3A%22hotlinechathub%22%7D%5D&connectionToken=wxhidka/adfaf/MDf57llaaBz22i55k7%2BUVNX4DHCixM1hX1k%2BhVy/Yi1FwnwMdwhzIrgpaeD5E4oC%2B702UnosdkQL1z2FrgebWw2uY0qCh9LG0Zfj9ZdY2pRG0&transport=longPolling, 
     NSErrorFailingURLKey=http: //website.net/signalr/abort?clientProtocol=1.3.0.0&connectionData=%5B%7B%22Name%22%3A%22hotlinechathub%22%7D%5D&connectionToken=gcukXaFIN/wm4ilNrj/MDf57llaaBz22i55k7%2BUVNX4DHCixM1hX1k%2BhVy/Yi1FwnwMdwhzIrgpaeD5E4oC%2B702UnosdkQL1z2FrgebWw2uY0qCh9LG0Zfj9ZdY2pRG0&transport=longPolling, 
     _kCFStreamErrorCodeKey=-2102, 
     _kCFStreamErrorDomainKey=4, 
     NSLocalizedDescription=Therequesttimedout. 
    } 
    }, 
    NSErrorFailingURLStringKey=http: //website.net/signalr/abort?clientProtocol=1.3.0.0&connectionData=%5B%7B%22Name%22%3A%22hotlinechathub%22%7D%5D&connectionToken=gcukXaFIN/wm4ilNrj/MDf57llaaBz22i55k7%2BUVNX4DHCixM1hX1k%2BhVy/Yi1FwnwMdwhzIrgpaeD5E4oC%2B702UnosdkQL1z2FrgebWw2uY0qCh9LG0Zfj9ZdY2pRG0&transport=longPolling, 
    NSErrorFailingURLKey=http: //website.net/signalr/abort?clientProtocol=1.3.0.0&connectionData=%5B%7B%22Name%22%3A%22hotlinechathub%22%7D%5D&connectionToken=gcukXaFIN/wm4ilNrj/MDf57llaaBz22i55k7%2BUVNX4DHCixM1hX1k%2BhVy/Yi1FwnwMdwhzIrgpaeD5E4oC%2B702UnosdkQL1z2FrgebWw2uY0qCh9LG0Zfj9ZdY2pRG0&transport=longPolling, 
    _kCFStreamErrorDomainKey=4, 
    _kCFStreamErrorCodeKey=-2102, 
    NSLocalizedDescription=Therequesttimedout. 
} 

和錯誤:

[CONNECTION] 
negotiationfailedErrorDomain=NSURLErrorDomainCode=-1001 
"The request timed out."UserInfo={Same as displayed above} 

問: 有沒有辦法從去這樣的不穩定狀態停止SRHubConnection,並開始無差錯新的連接?

回答

0

確保您連接對象上不會多次呼叫startstop。 多次調用它們會導致連接處於不穩定狀態。

+0

這解決了我的問題。我從不同的方法開始兩次開始。 –