1

これが私のobjective-cコードです...コメントアウトされたコードも試しましたが、うまくいきませんでした。これを接続したいだけです。

@implementation ViewController
- (void)viewDidLoad
{
    [super viewDidLoad];

    //get socket connecting...
    NSError *err = nil;

    uint16_t thePort = htons(1234);

//    struct sockaddr_in ip;
//    ip.sin_family = AF_INET;
//    ip.sin_port = htons(thePort);
//    inet_pton(AF_INET, "192.168.2.5", &ip.sin_addr);
//    
//    NSData* host = [NSData dataWithBytes:&ip length:ip.sin_len];
//    
//    if(![self.socket connectToAddress:host error:&err]) {
//        NSLog(@"Failed to connect... %@", err);
//    }


    if(![self.socket connectToHost:@"192.168.2.5" onPort:thePort error:&err]) {
        NSLog(@"Failed to connect %@", err);
    }
    // Do any additional setup after loading the view, typically from a nib.
}

私がそれを実行すると、これが私が得るすべてです...

2013-11-02 23:02:10.404 bonfire.alpha0.0[3892:70b] Failed to connect (null)

サーバー側では、エコーサーバーの単純な実装を使用しています ( https://github.com/zappala/python-networking-and-threading/blob/master/echo-server/echoserver.pyにあります) 。 . クライアントとサーバー (192.168.2.5) の間の物理的な接続が良好であることはわかっています。これは、クライアント コンピューターから echoclient.py を実行すると問題なく動作するためです。

4

1 に答える 1

1

さて、私はエラーを見つけました。非常に初心者です。GCDAsyncSocket を適切に開始していませんでした。これを開始するための適切なコードは次のとおりです。

self.socket = [[GCDAsyncSocket alloc] initWithDelegate:self.sDelegate delegateQueue:dispatch_get_main_queue()];
于 2013-11-03T06:10:12.600 に答える