2012-03-05 28 views
0

私が理解しているように、2つのiPhone間の接続をソケットに差し込むことはできません。だから、私がしたいのは、メッセージを受け取って適切な人に再配布するクライアントアプリケーションの間に1台のサーバーを置くことです。基本的に、アプリケーションは、場所を持つ共有マップをユーザーに持たせることができ、誰でもそれに注釈を付けることができます。iPhone CFSocket着信/着信メッセージ

1)私はCFStreamクラスを読んで研究してきましたが、C send()とrecv()関数を使うほうが良いかも知れません。彼らはほとんど使いやすくなっています。 CFStreamはネイティブなCソケット関数よりも優れたオプションです。

2)他のユーザーからの更新された共有ユーザーの場所/新しい注釈を積極的に聞くには電話が必要なので、定期的に電話でサーバーに他のユーザーからの「ニュース」をポーリングします二)。とにかく、電話が着信トラフィックを絶えず待っているアプリケーションの新しいスレッドをスピンオフできるのでしょうか?ユーザーがマップに注釈を付けることができるようになると、サーバーにそのマップをプッシュして、適切なユーザーマップをすぐに更新することがより簡単になります。

O'Rielly MediaのJonathan ZdziarskiのiPhone SDKの書籍のソケットコードを使用して、サーバーとiPhoneエミュレータ(古典的ノックノックジョークサーバー/クライアント)間でメッセージを送信しようとしました。しかし、1つまたは2つのメッセージを送信した後、サーバーは「受信中」になってしまいます。コードはエミュレータから送信されないと完全に実行されます。クライアントの送信機能を迷惑に思って、毎回サーバーから応答を得ることができるからです。 CFReadおよびWriteストリームの代わりにsend()およびrecv()を使用するため、サーバーがハングしている可能性がありますか?

答えて

0

bonjour、またはGameKit(すべてのデータを管理するため私が使用しているもの)を使用してiPhoneアプリケーションをソケットすることができます。