1

クライアントとサーバーを実装するためにツイストを使用しています。クライアントとサーバーの間に RPC をセットアップしました。したがって、私が行うクライアントではprotocol.REQUEST_UPDATE_STATS(stats)、. サーバーがこのメッセージを受信すると、サーバー プロトコルの関数が呼び出されてデコードされ、この場合のようにメッセージに基づいて関数が呼び出されます。transport.write["update_stats", stats]dataReceivedCMD_UPDATE_STATS(stats)

クライアントで次のようなことをするとします。

protocol.REQUEST_UPDATE_STATS("stats1")
protocol.REQUEST_UPDATE_STATS("stats2")

...メッセージがサーバー上"stats1"のメッセージよりも前に到着することは保証されていますか?"stats2"

更新: より明確にするために編集されました。しかし、今では答えは明らかです。

4

1 に答える 1

1

Pythonプロセスがリクエストを受け取った順に到着します。これには、接続セットアップ時間と要求データを含むパケットが含まれます。したがって、これは、ネットワーク遅延、パケットのドロップ、送信者側のパケットキューイングなどのために、送信プロセスが要求を送信した順序であるとは限りません。分散システムでは、「順序どおり」も大まかに定義されます。

しかし、はい、一般的に、それらが比較的長い時間(インターネット上で数百ミリ秒)離れている限り、それらが順番に配信されることを期待できます。

于 2010-08-19T17:26:43.807 に答える