質問

私築Objective-Cアプリとサーバとクライアントのコンサルティング/クライアントに送の更新プロトコルやインタフェースをサーバへ送信することができ更新毎に接続されます。って考え方をこのシステムが問ご提案します。

現在、私は考え方が新しいアップデートはあなたのサーバー用スレッドへの更新を各クライアント。場合にクライアントアウトしたものは切断されます。私は非常に少ないネットワーク体験などのお問い気づきを得ることになる。

と思い、このシステムにうか。その場合、まつかのスレッド?当NSの授業に関する情報を取得することができん。あったかのようなキューで使用できます、私は考えている。

その他の想い?

編集:からは動かないのではないか、顧客カウントを取得しく上50う。

役に立ちましたか?

解決

どのクライアントとサーバの両方がOS Xアプリでも書いてくださObjective-Cのココアを枠組みというにはぜひ立ち寄ってみてくださの 分散オブジェ となる技術ココア。いうチュートリアルの配布物をここでは、その理由を説明ではこれが有効であろう...

な取り扱うネットワークの非同期の詳細をおきます(すべてのクライアントの更新が起こりうる"という一つのスしてはなりません。また、意味のコミュニケーションを可能にするリモートオブジェクト(クライアントサーバーあるいはその逆;いは双方向の接続)する工程です。つまり、後の参照のリモートオブジェクト(思 NSDistantObject る行為のプロキシとしてのオブジェクトのその他の接続、クライアントコードへ、メッセージを送ることもでき、リモートオブジェクトとしてまた地元:

[remoteServer update:client];

クライアントから又は

[[remoteClientList objectAtIndex:i] update:server];

から、サーバーにコピーします。てしまいを詳細設定、接続のためのremoteServerはremoteClient参照いただいた後にの読み込み 分散オブジェプログラミングガイド.

下振れを用いることまつコ;ますので 非常に 書くのはたいへん難しいで非ココアクライアントやサーバーに伝える使用Distirbutedオブジェクト。機会があればいい非ココアクライアントやサーバーの実装では、利用するべきではありません。この場合、おすすめようと多くのクロスプラットフォームおよび言語に対応。A REST形式のAPI HTTP上ではオプションです。というものがココア URLローディングシステム 文書に関する情報のための実装方法にHTTP要求します。いまやん CocoaHTTPServer コード例は、またはcode.google.com プロジェクトの 同じ名前 のための情報を実施するHTTPサーバーにココアのコードです。

最後にあなたにとってのオプションをご覧になることができ、ココア ストリームプログラミングガイド したい場合は実施独自のネットワークプロトコルです。 NSStream's"サブクラスでだいネットワークソケット取り扱いに非同期書き込みや読み込みからこのソケットが開かれます。多くの人が利用 AsyncSocket この目的です。しみ下-レベル)CFStreamとCFSocket、文書ネットワークコードを少し楽になります。

他のヒント

サーバはクライアントへの更新を送信すると、

、おそらくただ一つのスレッドがそれら全てを処理していて、ちょうど非同期ソケットを使用して容易になるだろう。もちろん、これはあなたがあまりにも対処しなければならなかったどのように多くのクライアントに依存する。

アップルの開発者側のいくつかのネットワーキングの例があります。 私はあなたがチェックアウトすることをお勧めします一つは、ダウンロードすることができURLCACHE、です。 この例では、アップルのドキュメントから引用ます:

  

URLCACHEは、ウェブオフリソースをダウンロードし、アプリケーションのデータディレクトリに保存して、リソースのローカルコピーを使用する方法を示すサンプルのiPhoneアプリケーションです。 URLCACHEまた、キャッシュポリシーのカップルを実装する方法を示します:

興味深いオプションは、<のhref = "HTTPから BLIP のプロトコルです。 //jens.mooseyard.com/」のrel = "nofollowをnoreferrer">イェンスAlfkeする。メッセージ指向ネットワーキング・システム:それは BEEP でのストリップダウンバージョンのようなものです。あなたはそれの上にあなたの通信プロトコルを階層化に集中できるように、それは基本的に双方向のメッセージパイプ用の低レベルの抽象化を提供します。

これは、このようなフライングのマーカスZarraする(CoreData聖書の著者)とのGusミューラーなど、いくつかの価値があるフォロワーを持っています肉ソフトます。

私はあなたのシステムを設計する計画方法を知りませんが、通常はサーバがクライアントに接続することはできません。クライアントが通信を開始しなければなりません。 50台のクライアントの下限を使用すると、Webサーバ/クライアントのような実装を見てすることはできません...

クライアント・サーバー通信を処理するための2つの方法が基本的に存在し、言いました: 1.クライアントのポーリングサーバー定期的にアップデートを取得します 2.クライアントは、サーバーへの接続を開いたまま、サーバーはよく知られているで応答(双方がそれを理解するように)プロトコルます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top