3

Objective-C Bonjour/TCP スタックを組み合わせたものを誰かが知っているかどうか疑問に思っていました。これにより、ソケットの管理やサービスのブロードキャストなどを忘れて、代わりにサービスをホストしたり、既存のサービスのリストを取得したりできます。 1つに接続します。次に、サーバー側から特定のクライアントにメッセージを送信するか、クライアントからサーバーにメッセージを送信します。

受信したメッセージや発見されたサービスはデリゲート メソッドを介して送信され、残りの汚れた作業はスタックに任せられると思います。

これを自分で実装するのはそれほど難しいことではなく、すでにいくつかの実装を行っていますが、成熟したフレームワークを使用する方がはるかに理にかなっています。

iPhone対応ならプラスポイント。

4

6 に答える 6

4

「自分でやる」と言います。

質問に記載されている要件が変更されると思わない場合は、ソケット サーバー + ネットサービスとソケット + ストリームのラッパーのシンプルだが十分にテストされた実装で問題なく動作します。 「フレームワーク」そのもの。

チュートリアル用に同様のものを実装し、これまでにいくつかの異なるプロジェクトで使用しています。TCP ソケット サーバーの約 200 行のコードと、(デリゲートなどを含む) Connection クラスの約 300 行のコードを見ています。

于 2009-08-19T15:53:37.537 に答える
3

iPhone SDK に含まれている GameKit Framework を探しているようです。GameKit は、GKSession を介して、探しているものを正確に提供します。そこには多くのドキュメントがありますが、公式の Apple ガイドは出発点として最適です。

于 2010-01-18T00:43:50.400 に答える
1

Apple の iPhone 用 WiTap サンプル アプリをご覧ください。あなたが求めている構造の多くはすでにそこに存在しています。iPhone Dev Centerから見つけることができます。

于 2009-08-20T18:48:19.827 に答える
0

iPhoneとOSXの両方に組み込まれているNSNetServicesを使用するのはどうですか?これで、Bonjourサービスの公開/サブスクライブのすべての作業が実行されます。

もちろん、サービスを公開している場合は、通信するソケットが必要です。使用しているプロトコルによっては、着信メッセージの処理方法(および応答があるかどうかなど)によって、次のことを行う必要があります。そのメッセージングインフラストラクチャが何であるかについて事前にある程度の知識を持っている。

あなたがそれを書くことさえわざわざできないなら、その事実上すべてを包含するプロトコル、HTTPを介して何かをホストすることはおそらく前進の道です。デバイス上で独自のミニウェブサーバーをホストし、HTTPリクエストに通信を任せることができます。しかし、サービスの実装は、そのサービスの発見と直交しています。

于 2009-08-09T07:53:24.283 に答える
0

ConnectionKitがあり、FTP、HTTP、SFTP、WebDAV、および Amazon S3 を介した通信がはるかに簡単になります。Cocoa は依存関係の 1 つであるため、iPhone を直接サポートしていませんが、移植性があると思います。これがあなたの場合に役立つかどうかはわかりませんが、念のためそこに捨てようと思いました.

于 2009-08-10T15:27:01.470 に答える