問題タブ [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.
delphi - Indy Write Buffering / 効率的な TCP 通信
私はたくさんの質問をしています...しかし、新しいDelphi開発者として、私はこれらすべての質問に落ち続けています:)
これは、indy 10 を使用した TCP 通信を扱います。通信を効率化するために、クライアント操作要求を 1 バイトとしてコーディングします (ほとんどのシナリオでは、もちろん他のデータ バイトが続きますが、この場合は 1 バイトのみです)。問題はそれです
そのバイトをすぐには送信しません (少なくともサーバーの実行ハンドラは呼び出されません)。たとえば、「1」を「9」に変更すると、すべて正常に動作します。Indy が送信バイトをバッファリングすると想定し、書き込みバッファリングを無効にしようとしました
しかし、それは役に立ちませんでした。1 バイトを送信して、それがすぐに送信されるようにするにはどうすればよいですか? そして - ここにもう 1 つ小さな質問を追加します - indy を使用して整数を送信する最良の方法は何ですか? 残念ながら、 TIdTCPServer の IOHandler に WriteInteger のような関数が見つかりません...そして
私にはあまり効率的ではないようです。複数の書き込みコマンドを続けて使用するか、バイト配列にまとめて一度送信するかに違いはありますか?
回答ありがとうございます。
編集: 読み取りと書き込みの手順に関して大きな変更があるように見えるので、Indy 10 を使用しているというヒントを追加しました。
iphone - 2 つの異なるシステム間でオブジェクトを同期する、最善の方法は?
XML ベースのペイロードを使用して、iPhone と Web サイト間で 2 つのビジネス オブジェクトを同期する作業を行っており、最適なルーチンのアイデアを募集しています。
ただし、この質問の性質はかなり一般的であり、Web エンティティとクライアント (デスクトップ、携帯電話など) の間でビジネス オブジェクトを同期する必要があるさまざまなシステムに適用できることがわかります。
ビジネス オブジェクトは、両側で編集、削除、および更新できます。どちらの側でもオブジェクトをローカルに保存できますが、同期は切断された表示のために iPhone 側でのみ開始されます。すべてのオブジェクトには updated_at と created_at のタイムスタンプがあり、両側で RDBMS に支えられています (iPhone 側の SQLite と Web の MySQL ... 繰り返しますが、これはあまり重要ではないと思います)。同期が試みられました。それ以外の場合、(現時点では) 他のデータは保存されません。
同期のためにシステム間のネットワーク チャットを最小限に抑えるには、どのアルゴリズムを使用しますか? 「ソフト削除」がオプションでない場合、削除をどのように処理しますか? これを容易にするために、どのようなデータ モデルの変更を追加しますか?
perl - Perlでクライアントサーバーを作成する最も簡単で軽い方法は何ですか?
このソリューションがHTTPプロトコルに基づいているとよいでしょう。
multithreading - マルチスレッド クライアント サーバー Web サービス - サーバー側のデータをスレッドセーフにする
マルチスレッド Web サービスを実装しています。着信要求ごとにスレッドが生成されます。クライアントごとにセッションが作成され、各セッションにはデータ セクション (DOM ツリーなど) が含まれます。クライアント リクエストは基本的に get/set メソッドであり、サーバーは DOM の読み取り/書き込みを行います。
したがって、DOM データはクライアントごとです。
ここで私の質問は、サーバーはこの DOM ツリーをクリティカル セクションとして扱うべきかということです。
基本的に問題は、サーバーが同じクライアントにサービスを提供している 2 つのスレッドを持つシナリオがあるかということです。
リクエスト/レスポンスは TCP 経由の SOAP です。私の理解では、クライアントがマルチスレッドであっても、tcp クライアントは同時リクエストを送信できません。したがって、サーバー側では、2 つのスレッドが同じクライアント用であるという状況は発生しません。私が間違っている場合は訂正してください。私は tcp/ip クライアント サーバー プログラミングは初めてです。
ありがとう。
c++ - 簡単な C または C++ TCP サーバーとクライアントの例は?
非常に小さな C または C++ TCP サーバー/クライアント ソリューションを迅速に実装する必要があります。これは、あるコンピューターから別のコンピューターに文字列のバイト配列を転送するだけです。スケーラブル/過度に複雑である必要はありません。シンプルなほど良い。できれば手早く汚い。
このチュートリアルのコードを使用しようとしましたが、Linux で g++ を使用してビルドすることはできませんでした: http://www.linuxhowtos.org/C_C++/socket.htm
これを実行しているシステムは非常に制限されているため、可能であれば、サードパーティのライブラリは避けたいと思います。既存のアプリケーションが既に実装されているため、これは C または C++ である必要があります。
emg-2の回答のおかげで、次の手順を使用して、上記のコード サンプルを C++ と互換性を持たせることができました。
これらのヘッダーをクライアントとサーバーの両方に追加します。
server.cで、clilen のタイプを socklen_t に変更します。
client.cで、次の行を変更します。
に:
sockets - Java ソケットプログラミングでクライアントからサーバーに整数配列を送受信するにはどうすればよいですか?
ソケット接続を介して 2 つの異なるパッケージでクライアントからサーバーにジョブ (整数配列) を送信する際に問題が発生しています。アイデアはありますか?
私の質問が十分に明確でない場合は、さらに説明できます。