問題タブ [client-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - アプリケーション サーバー (EJB を使用) は、Java EE クライアント/サーバー通信の唯一の方法ですか?
Web クライアントと Swing クライアントの両方で、最大 100 人の同時ユーザーにサービスを提供する Java クライアント/サーバー ERP アプリケーションを想像してみてください。永続性のために、Persistence API と Hibernate を使用できます。しかし、クライアント/サーバー通信に関して言えば、EJB で AS を使用する以外に、リモート通信のプログラミング コストを抑える方法は本当にあるのでしょうか?
リモート処理のためだけに、EJB とアプリケーション サーバーを投入するのは、非常に負荷の高いソリューションのようです。RMI を使用する標準的な方法もありますが、最近では自分ですべてをコーディングしたい人はいません...
リモーティング部分に加えて、AS を使用すると多くの機能を無料で利用できることを私は知っています。そして、多分それは行くべき道です。しかし、エンタープライズ アプリケーションのクライアント/サーバー通信を行うための AS に代わる (低プログラミング コストの) 他に本当にあるのでしょうか?
java - Java SSL ソケット ベースのクライアント/サーバー アプリケーション
双方向認証の場合、両側から証明書をインポートする必要がありますか?
client-server - CLI 検証/ロジック サーバー側の移動に何か問題がありますか?
クライアント/サーバー アプリケーションがあります。クライアントの 1 つは CLI です。CLI はいくつかの基本的な検証を実行し、サーバーに対して SOAP 要求を行います。応答が解釈され、関連情報がユーザーに表示されます。すべてのコマンドには、Web サービスへの要求が含まれていました。
サービスがサーバー側で変更されるたびに、新しい CLI をリリースする必要があります。
私が疑問に思っているのは、CLI を信じられないほど薄くすることに何か問題があるのではないかということです。コマンド文字列をサーバーに送信するだけで、サーバーで検証、解釈され、応答文字列が返されます。
(サーバーの連携でTAB補完もできました。)
私の場合、これにより開発が簡素化され、メンテナンス作業が軽減されると感じています。
私が見落としている落とし穴はありますか?
アップデート
スケーラビリティの問題は優先度が高くありません。
encryption - MMORPG プロトコルの暗号化
最近の MMORPG 開発者のクライアント/サーバー プロトコルの暗号化の傾向を知っている人はいますか?
長所と短所は次のとおりです。
暗号化プロトコル:
- クライアント/サーバープロトコルに関する企業秘密をある程度保護しますか?
- ボットは止められません。変更されるのは、人々が画面の状態を読み取ってマウス + キーボード イベントをトリガーするボットを作成し、その後ボットを停止するのではなく、ボットの開発を緩和するだけであるためです。ボット開発の供給はいくらか少なくなっていますが、需要はまだありますが、rentacoder.com で入札単価が高くなるだけです。
通常の平文:
- 開発者が独自のデータグラムをクライアント/サーバー プロトコルに挿入できるため、より高度なボット。(つまり、壁を通り抜けたり、テレポートしたり...サーバー側がチェックする必要があるため、インジェクションを介してエクスプロイトにパッチを当てる間の開発コンテストにつながります(時間がかかります)
java - 最高の Java サポート サーバー/クライアント プロトコルは?
メッセージベースで動作するクライアント/サーバーアプリケーションを作成中です。別の実装を書くのではなく、できるだけ再利用したいと思います。他の人が何を使っているのか知りたいです。
ライブラリが提供する機能:
- クライアント側とサーバー側の機能
- メッセージベースで動作するはずです
- マルチスレッドをサポート
- ロードバランサー/ファイアウォールの背後で動作する必要があります
HTTPCoreでいくつかのテストを行いましたが、結論としては、クライアントとサーバーの両方を実装する必要があり、トランスポート層のみがカバーされるということです。RMI は、ネットワーク関連の要件のため、オプションではありません。
どんなアイデアでも大歓迎です。
詳細
私の考えは、クライアント通信 (ユーザー/パスワードの検証を含む) を処理し、着信要求を JMS キューに書き込むクライアント/サーバー ラッパーを実装することです。
個別のプロセスがリクエストを処理し、ラッパーを介してクライアントに応答できます。JMS を使用したい理由は次のとおりです。
- それは永続性を非常にうまく処理します
- 負荷分散 - コンシューマーとしてサーバーを追加することで、ピークを簡単に処理できます
- JMSTimeToLive も便利です
残念ながら、JMS を単独で使用する方法はわかりません。クライアントは自分のメッセージにしかアクセスできず、JMS 側で別のユーザーを設定することもできないためです。
.net - クライアント - サーバー: クライアントが自分の存在をサーバーにアナウンスした後、サーバーが引き継ぐ場合、それは依然としてクライアント サーバーですか、それとも P2P ですか?
読者の皆さん、こんにちは!そこで、クライアント サーバー システムを開発しようとしています。以前にクライアント サーバー システムを設計したことがないので、質問を投稿して、ここの専門家が何を言わなければならないか見てみようと思いました。
要件: .NET 3.5 WCF 2 台以上のコンピューター (マスターとスレーブ)。
ユースケースは、スレーブがマスターの要求でテストを実行するテスト環境です。
質問: スレーブがマスターを見つけて接続し、マスターが制御を取得して実行するテストを開始することを希望します。スレーブは、新しいテスト データ、予期しないイベントなどの進捗レポートも作成します。
私が混乱している部分は、スレーブがマスターとの接触を開始した場合、それは彼をマスターにしないということですか?
これは、アクティビティを開始できるように、スレーブとマスターの両方にサービスホストが必要であることを意味しますか?
delphi - Indy を使用したネットワーク トラフィックの測定
クライアント アプリケーションとのすべての通信を処理するために TIdTCPCmdServer を使用しています。サーバーで、ネットワーク トラフィックを含むあらゆる種類のログを記録したいと考えています。TCPCmdServer が実際に送受信したバイト数を確認する簡単で巧妙な方法はありますか? みたいなコードしか思いつかない
私の意見では、これらのトラフィックの更新はコード全体に分散され、かなり複雑であるため、これは非常に醜いです。
助言がありますか?
ご協力いただきありがとうございます。
java - Java RMI 呼び出しのリモート クライアント IP アドレスを決定する
RMI サーバーを実装する (java.rmi.Remote を拡張するインターフェースを実装する) 場合、現在の RMI 要求コンテキスト、特にリモート クライアントの IP アドレスに関する情報を取得する方法はありますか?
java - アプリケーション固有のデータ型をサーバーおよびクライアントと共有する
server(java)-client(c ++)システムを作成する必要があります。サーバーとクライアントの両方が、クライアントとサーバーで同じオブジェクト(データタイプ)を操作する必要があります。たとえば、車のオブジェクトが作成されます。クライアント側でサーバーに送信し、そこで車のオブジェクトに対して追加の計算が行われます。私がやりたいのは、carオブジェクトの1つのユニバーサル実装を作成し、サーバーとクライアント内でこの実装を使用することです。最初に、クライアントとサーバーで同じであるすべてのデータ型でdll(c ++)を作成することを考えましたが、このソリューションには欠点があります。このソリューションはWindowsOSでのみ機能し、Win、Mac、Linuxをサポートする必要があるためです。それで、私の問題に対するマルチプラットフォームの解決策はありますか?
お返事ありがとうございます。
client-server - クライアント/サーバーのタイムギャップをどのように計算しますか?
私はクライアント/サーバーソフトウェアを開発しており、クライアントの時計をサーバーの時計と同期させるための最良の方法を探しています。
もちろん、システム時計に触れたくないので、NTPは使えません。サーバーから受信したすべての日時にタイムギャップを追加して「現地時間」に変換できるように、タイムギャップを計算しようとしています。
私が知っていることはそれです:
GMT時間を使用してTimeZoneの問題を処理します
サーバーは接続時に現在の時刻をクライアントに送信し、クライアントは時刻からサーバー時間を差し引いてタイムギャップを計算します。
これは、ネットワークラグが一定の場合にうまく機能します(「myLAN」を読んでください...)
残念ながら、私は自分のソフトウェアをインターネット上で、さらにはモバイルクライアント上でも動作させたいと思っています。モバイルクライアントでは、最大1分のラグの変動が見られます。
私が取り組んでいるソフトウェアの場合、このような遅れは許容できません。
クライアント/サーバーのタイムギャップを計算するための良い戦略は何でしょうか?
最後に:私は両方の方法でメッセージを送信できます(クライアントからサーバーおよびサーバーからクライアント)
おそらく無関係ですが、この背後にあるテクノロジは、ポーリングを伴うhttpbindingを使用する.netWCFクライアントです。