2011-12-14 3 views

ответ

2

Вы должны прочитать AsyncSocket.h следующее очень близко к вершине (первый обратный вызов будет на самом деле дать вам информацию о причинах отключения, который могут быть полезны)

/** 
* In the event of an error, the socket is closed. 
* You may call "unreadData" during this call-back to get the last bit of data off the socket. 
* When connecting, this delegate method may be called 
* before"onSocket:didAcceptNewSocket:" or "onSocket:didConnectToHost:". 
**/ 
- (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err; 

/** 
* Called when a socket disconnects with or without error. If you want to release a socket after it disconnects, 
* do so here. It is not safe to do that during "onSocket:willDisconnectWithError:". 
* 
* If you call the disconnect method, and the socket wasn't already disconnected, 
* this delegate method will be called before the disconnect method returns. 
**/ 
- (void)onSocketDidDisconnect:(AsyncSocket *)sock; 
1

Похоже, что вы используете метод делегата:

- (void)onSocketDidDisconnect:(AsyncSocket *)sock; 
+0

спасибо. – user403015

+0

Я думаю, что ни один из этих методов не вызывается, когда сервер закрывается. :(Я понятия не имею, как узнать, что сервер закрыт. – Geri

Смежные вопросы