1

基本的に次の方法で機能するtcpを介して機能するネットワークプロトコルを実装する必要があります。プッシュされるリクエストと読み取られる回答があります(一方のパーティのみがリクエストを開始できます)。私はQNetworkAccessManagerのような方法でそれを実装したいと思っています.マルチスレッドなしで実装します。

主な問題は次のとおりです。

ソケットが接続されていない場合、3 つのオプションがあります。1) エラーを返します (応答オブジェクトに null ポインターを返すことは、エラーを返すようなものです) 2) 「sendRequest」内から「finish」を発行します (これは最も邪悪なアプローチです) 3) 「reply を返す」 " "sendRequest" から、それ以降はリクエストが失敗したというシグナルを発します。(一番欲しい)

私は3番目のオプションが本当に好きですが、今私が目にする唯一の方法は、1ミリ秒のワンショットコールでタイマーを使用することです.これは基本的にそのようなことを実装するための間違ったパスのように見えます.リクエストするクッキー)?リクエストを遅延して送信する方法もあれば良いでしょう(リクエストをキューにプッシュし、「応答」オブジェクトで呼び出しから戻り、その後ネットワーク経由で実際のリクエストを送信するなど)。これはすべてイベントを扱っているように見えますが、この問題をどのように扱うのが最善かわかりません。そのようなプロトコルを実装するためのベストプラクティスは何ですか? 何かアドバイス?

4

0 に答える 0