私はクライアント/サーバアプリケーションを作っています。アプリケーションはリモートホスト上にあるサーバアプリケーションを持ち、クライアントアプリケーションは異なる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. Pythonでxmlrpcを使ってサーバーとクライアントを構築する
- 2. NAntとIvyを使ってVB6プロジェクトを構築する
- 3. 角型と型スクリプトを使ってWebExtensionを構築する
- 4. distutilsとbuild_clibを使ってCライブラリを構築する
- 5. フォーラムのスタイルと投票を使ってコミュニティサイトを構築する
- 6. Androidを使ってCMakeと共有ライブラリを構築するNDK
- 7. gensymとmacroletを使ってハッシュテーブルを構築する
- 8. GraphHopperとjspritを使って行列を構築する
- 9. Elmでループを使ってリストを構築するには?
- 10. Swiftでreduce()を使って辞書を構築する
- 11. Windows 7でmingwを使ってgumbo-parser dllを構築する
- 12. SquarespaceでA-Frameを使ってWebVR Webサイトを構築する
- 13. gitlab-ciを使ってdockerで.NETコアプロジェクトを構築する
- 14. DebianでMavenを使ってRPMを構築する
- 15. htaccessを使ってスラッシュを使ってphp urlを再構築する
- 16. mavenを使ってプロジェクトを構築することはできません
- 17. Windowsでmavenとspring-bootを使ってDocker-Imageを構築する
- 18. Groovyを使ってシンプルなIDEを構築するには?
- 19. Nantを使ってクラスライブラリを構築する方法
- 20. NANTを使ってサブプロジェクトを構築する
- 21. bjamを使って基本的なBoostアプリケーションを構築する
- 22. jqueryを使って動的にフォームを構築する
- 23. MATLABを使ってlevmarを構築するには?
- 24. libresslを使ってPHP 7を構築する
- 25. ドッカーを使ってマルチテナントアプリケーションを構築する方法
- 26. Xcodeを使ってマルチカーアプリを構築する
- 27. gitlab-ciを使ってErlangを構築する
- 28. Mavenを使ってJUNGライブラリを構築する
- 29. 流暢なインターフェースを使ってシーケンスを構築するには?
- 30. CMakeを使ってOpenSceneGraphプロジェクトを構築するには?
クライアントアプリケーションには、毎回ウェブに接続する動的IPアドレスとポートがあります。 – Massimo
クライアントアプリケーションは、Webに接続するたびに動的IPアドレスとポートを持ちます。 私のアプリケーションは常にWeb上にあり、Ipとport(80)が開いている問題を修正しています。 クライアントアプリケーションがサーバーアプリケーションを呼び出すと、システムによって割り当てられたIPとポートを介して呼び出され、そのipとポートに。 しかし、この時点で、サーバーは別の呼び出しを受け付けることなく、クライアントに別の送信操作を実行できますか? – Massimo