0

CocoaAsyncTaskを使用していて、ローカルホストに接続しようとしています。シミュレーターから実行すると動作しますが(提供されているエコーサーバーで確認しています)、実際のデバイスで実行すると何も起こりません。コードは次のとおりです。

if(![socket connectToHost:@"localhost" onPort:8080 error:nil]) {
    NSLog(@"Error..");
}
-(void)socket:(GCDAsyncSocket *)socket didConnectToHost:(NSString *)host: port:(uint16_t)port {
    NSLog(@"Connected");
}

何か案は?ありがとう!

4

1 に答える 1

2

ローカルにインストールされていないサーバー(ローカル=まったく同じホストとインターフェイス上)に接続しようとしているときに、アドレスを「localhost」として指定しています。「localhost」のウィキペディアのエントリを参照してください。

Macのネットワークインターフェイスを使用するシミュレーターから機能します。したがって、「localhost」は、サーバーとクライアントを実行するマシンを指します。

ホスティングマシン(Macなど)のローカルIPアドレスを指定する必要があります。通常、これは192.168.1.100や192.168.0.100のようなものですが、より正確にはそのようなものです。

192.168.xxx.xxx=クラスCのルーティング不可能なアドレス

10.xxx.xxx.xxx=クラスAのルーティング不可能なアドレス

一方、 xxxは0から255までの任意の値を表します。

ローカルIPアドレスを確認するには、 [システム環境設定] ->[ネットワークパネル]を使用します。「...IPアドレスxxx.xxx.xxx.xxx」のステータスの下の値を確認してください

ここに画像の説明を入力してください

于 2012-04-27T00:21:02.767 に答える