iPhone AsyncSocket всегда подключается к любому порту! - PullRequest
2 голосов
/ 23 февраля 2010

Я использую (или пытаюсь ...) 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] Conectou! , даже если я изменю порт на 1 или на порт вне диапазона ...

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 23 февраля 2010

Моя память такова, что он на самом деле не подключен, когда возвращается -connectToHost:onPort:error:, он просто успешно совершил попытку. Метод делегата информирует вас, когда соединение успешно или неудачно.

0 голосов
/ 27 июня 2010

При успешном подключении к данному хосту и порту didConnectToHost: делегат порта shoud fire.connectToHost: onPort: ошибка: возвращает только индикатор того, можете ли вы попытаться подключиться к сокету.

...