私はクライアント/サーバアプリケーションを作っています。アプリケーションはリモートホスト上にあるサーバアプリケーションを持ち、クライアントアプリケーションは異なるIPアドレスを持つ異なるクライアントに配置することができます。 サーバーアプリケーションはポート80に自分のIPアドレスを持ち、別のクライアント要求をリッスンします。 このクライアント/サーバーアプリケーションはリアルタイムチャットもサポートしますので、異なるクライアントがファイアウォールとルーターの背後にある場合、サーバーはこれらのファイアウォールとルーターを介してクライアントアプリケーションにリアルタイムメッセージを送信できますが、それらの応答も待っています。system.net.socketsでクライアントファイアウォールとルータを使ってクライアント/サーバアプリケーションを構築する
答えて
ポートが開いている場合は...はい。
これを回避する一般的な方法の1つは、サーバーに要求をパークし、それに応答することです。ほとんどのファイアウォールでは、クライアントに要求することはできません。したがって、サーバーへの非同期要求を行い、クライアントに送信する意味があるまでサーバーは戻りません。次に、応答が送信された後、クライアントに次のサーバーデータの要求をパークさせます。
非常に興味深いMatt。 しかし、私はどのようにサーバーに非同期要求を行うことができます。 1)クライアントはサーバのIPアドレスとポート(123.123.123.123:12345)から動的IPとポート(456.456.456.456:80) に接続します。2)クライアントへのサーバ(123.123.123.123:12345) 3)クライアント(123.123.123.123:12345)はサーバー(456.456.456.456:80)に何も問い合わせることなく別の要求をしてから、応答を待ちますか? これは意味ですか? – Massimo
私はあなたのことを正しく理解していれば、はい。クライアントはサーバーに要求を行い、応答を待つ必要があります。サーバは、クライアントが何か気になることがあるときにのみ応答します。そうでない場合、サーバは接続を開いたままにします。クライアントが応答を受け取ると、別の要求を送信し、そのような通信を続行します。 –
Mattさんに感謝します。 私は非同期サーバーソケットプログラミングのいくつかの例を探していますが、これはサーバー側のものです。http://msdn.microsoft.com/en-us/library/fx6588te.aspxと同じページの最後クライアント側のクライアント/サーバアプリケーションがマルチクライアントになる例があります。私はソケットプログラミングの初心者ですから、あなたは私を助けてくれるでしょうか、正しい方法ですか? 再度ご連絡ありがとうございます。 – Massimo
- 1. gensymとmacroletを使ってハッシュテーブルを構築する
- 2. NAntとIvyを使ってVB6プロジェクトを構築する
- 3. distutilsとbuild_clibを使ってCライブラリを構築する
- 4. Swiftでreduce()を使って辞書を構築する
- 5. tkinterを使って範囲スライダを構築する方法は?
- 6. jQueryを使ってWindows 8 Metroアプリケーションを構築する
- 7. c#を使ってサイトマップを構築する#
- 8. wxpythonを使ってguiを構築する
- 9. Flaskを使ってオフラインWebアプリケーションを構築するには?
- 10. mavenを使ってファットジャーを構築する
- 11. bjamを使って基本的なBoostアプリケーションを構築する
- 12. Flashムービーを構築するJpgs/pngを使ってダイナミックに
- 13. 反射を使ってStringからEnumを構築する
- 14. Parsekitを使ってパーズツリーを構築する
- 15. Mavenを使ってJavaFX 8を構築する
- 16. テキストファイルを使ってページを構築する(Rails 2.3)
- 17. MATLABを使ってlevmarを構築するには?
- 18. Nantを使ってクラスライブラリを構築する方法
- 19. Monotouchを使ってXMPPアプリケーションを構築するには?
- 20. cmakeを使ってCUDAオブジェクトファイルを構築する
- 21. jqueryを使って動的にフォームを構築する
- 22. NANTを使ってサブプロジェクトを構築する
- 23. java.util.zipを使って有効なepubを構築する
- 24. Railsを使ってRESTfulなルートを動的に構築する
- 25. Groovyを使ってシンプルなIDEを構築するには?
- 26. CMakeを使ってOpenSceneGraphプロジェクトを構築するには?
- 27. Angular2ルータ、コンテンツの変更、ルーティングと再構築を回避する方法
- 28. ネットワークを構築してルータにSNMPを実行させるためのシミュレータツール
- 29. JsPlumbでエッジを使った接続を構築するには?
- 30. Rubyを使ったチャットアプリケーションの構築
クライアントアプリケーションには、毎回ウェブに接続する動的IPアドレスとポートがあります。 – Massimo
クライアントアプリケーションは、Webに接続するたびに動的IPアドレスとポートを持ちます。 私のアプリケーションは常にWeb上にあり、Ipとport(80)が開いている問題を修正しています。 クライアントアプリケーションがサーバーアプリケーションを呼び出すと、システムによって割り当てられたIPとポートを介して呼び出され、そのipとポートに。 しかし、この時点で、サーバーは別の呼び出しを受け付けることなく、クライアントに別の送信操作を実行できますか? – Massimo