iPhone AsyncSocket всегда подключается к любому порту!
-
22-09-2019 - |
Вопрос
Я использую (или пытаюсь...) AsyncSocket для подключения к серверу, но он всегда подключается, даже если сервер не работает...Я использую SDK 3.1.2.Кто-нибудь сталкивался с этой проблемой раньше?
#import "mluPresenterAppDelegate.h"
#import "AsyncSocket.h"
@implementation mluPresenterAppDelegate
@synthesize window;
#pragma mark -
#pragma mark Application lifecycle
- (void)applicationDidFinishLaunching:(UIApplication *)application {
AsyncSocket *assClient = [[AsyncSocket alloc] initWithDelegate:self];
NSError *err = nil;
if (![assClient connectToHost:@"127.0.0.1" onPort:7777 error:&err]) {
NSLog(@"%@ %@", [err code], [err localizedDescription]);
} else {
NSLog(@"Conectou!");
}
[window makeKeyAndVisible];
}
Результат всегда 2010-02-22 22:54:26.922 mluPresenter[2083:207] Подключитесь! даже если я изменю порт на 1 или на порт вне диапазона...
Заранее спасибо.
Решение
Насколько я помню, он на самом деле не подключен, когда -connectToHost:onPort:error:
возвращается, это просто успешная попытка.Метод делегата информирует вас об успешном или неудачном соединении.
Другие советы
При успешном подключении к данному хосту и порту делегат DidConnectToHost:port должен вызвать fire.connectToHost:onPort:error:вернуть просто индикатор, можно ли примерить сокет.