私はいくつかのiPodデバイス用にobjective-Cでプログラミングしています。私はサーバークライアントモデルを利用するアプリケーションを開発しており、私はCソケットでUDPプロトコルを使用しています。私はiPodのデバイスのIPアドレスを決定することができるクラスがありますか?他のフォーラムでグーグル・グーグルをしても、何も見つかりませんでした。明らかにこのコマンドは機能しませんが、ipAddress = self.ipのようなものは私が気にしていたものです。私はマルチキャストCソケットを設定していますが、私はpingコマンドに似た回避策を実行しようとしています。これは明らかにobjective-Cにも私の知識にも存在しません(制限されています。この夏の開始以来、客観的なCで)少なくとも。アドバイスやヒント?Objective-C - iPod touchのIPアドレスをプログラムで決定する
答えて
このコードスニペットは、インターフェイスをループして取得します。
- (NSString *)getIPAddress
{
NSString *address = @"error";
struct ifaddrs *interfaces = NULL;
struct ifaddrs *temp_addr = NULL;
int success = 0;
// retrieve the current interfaces - returns 0 on success
success = getifaddrs(&interfaces);
if (success == 0)
{
// Loop through linked list of interfaces
temp_addr = interfaces;
while(temp_addr != NULL)
{
if(temp_addr->ifa_addr->sa_family == AF_INET)
{
// Check if interface is en0 which is the wifi connection on the iPhone
if([[NSString stringWithUTF8String:temp_addr->ifa_name] isEqualToString:@"en0"])
{
// Get NSString from C String
address = [NSString stringWithUTF8String:inet_ntoa(((struct sockaddr_in *)temp_addr->ifa_addr)->sin_addr)];
}
}
temp_addr = temp_addr->ifa_next;
}
}
// Free memory
freeifaddrs(interfaces);
return address;
}
あなたはこれを見ましたか? http://www.appsamuck.com/day4.html。正しい答えは、CFHost
をSDKに使用することだと思います。
EDIT
そのプロジェクト内のソースは、AppleがSDKにNSHost
を置くことを決定しない限り、完全に無効なソリューションになり、次のコード、を使用して表示されます。
-(NSString*)getAddress {
char iphone_ip[255];
strcpy(iphone_ip,"127.0.0.1"); // if everything fails
NSHost* myhost =[NSHost currentHost];
if (myhost)
{
NSString *ad = [myhost address];
if (ad)
strcpy(iphone_ip,[ad cStringUsingEncoding: NSISOLatin1StringEncoding]);
}
return [NSString stringWithFormat:@"%s",iphone_ip];
}
これは私の頭の中で最初にポップアップしたものです。 – ryansstack
NSHostはiPhone SDKではサポートされていません。それがあればそれは素晴らしいだろう。 –
NSHostはiPhone SDKでサポートされています! – user200654
- 1. RMI:リモートオブジェクトのIPアドレスを決定する
- 2. P2PアプリケーションでのローカルIPアドレスの決定
- 3. iPod Touchでスクリーンビデオ?
- 4. iPod touchの世代をプログラムで確認する
- 5. IPアドレスを127.0.0.1に解決する
- 6. Java RMIコールのリモートクライアントIPアドレスを決定する
- 7. Iphone and iPod Touch
- 8. オーバーフロー-x iPod touch
- 9. iPhone/iPod TouchのSplitScreen
- 10. ホスト名のIPアドレスの解決
- 11. iPod Touchのアプリケーション内で位置情報サービスをプログラムで有効にする
- 12. バッチファイルでIPアドレスを設定する
- 13. iPod TouchとiPhoneのドキュメントディレクトリ
- 14. ipod touchのアドホックな配信
- 15. iPhone/iPod Touchでどのようなアクセサリをプログラムしたいですか
- 16. C#でDNSからIPアドレスを解決する
- 17. AndroidでプログラムでMacアドレスからIPアドレスを取得する方法は?
- 18. iPhone対iPod Touchソフトウェア開発
- 19. iPod Touch 4G用Pythonバーコードリーダ/スキャナ
- 20. IPアドレスを使用してモバイル事業者名を決定する
- 21. ノードjsのIPアドレスにホスト名を解決する方法
- 22. 特定のリモートIP/DNSアドレスに接続できるローカルIPアドレスを特定する方法
- 23. プログラムでLantronix XPort IPアドレスを取得する方法
- 24. IPアドレスを別のIPアドレスにルーティングする場合
- 25. iPod Touch/iPhoneでモバイルサファリの実際のボタンをシミュレートする
- 26. pingはどのようにIPアドレスを解決しますか?
- 27. VC++(VS2010)プログラムの特定のIPアドレスからデータを読み込みますか?
- 28. iPhone/iPod touchのCPU/GPUの性能
- 29. Xcode 4のiPod Touch 3.1.3へのビルド
- 30. MACアドレスとIPアドレス
最初にテストしてコードを実行し、完全なコードを投稿してください。 私は上記のコードから戦闘とエラーが発生しています。 警告:関数 'getifadrs'の暗黙的な宣言 エラー:(temp_addr!= NULL)の とそれ以上のエラーで、不完全な型のポインターを参照解除しています。 – Biranchi
適切なヘッダーが含まれていません。まず、コードをコピーして浴室の壁に貼り付ける前に理解しておいてください。 –
誰かが適切なヘッダーが何であるかについて何か刺激を与えたいですか? – AddisDev