21

複数のマシンがpython'szeroMQクライアントを使用して相互作用していると仮定します。

これらのメッセージは、自然に文字列としてフォーマットされます。

メッセージ(文字列)の長さに制限はありますか?

4

4 に答える 4

20

送信されるメッセージのサイズに制限はありませんが、小さなメッセージは大きなメッセージとは異なる方法で処理されます(ここを参照)。

小さなメッセージの最大サイズは、ソースコードで30バイトで定義されています(ここを参照してください。ZMQ_MAX_VSM_SIZEを探してください)。

于 2011-07-01T06:53:26.903 に答える
3

特大のメッセージを送信しているピアを切断するソケットオプションZMQ_MAXMSGSIZEがありますが、デフォルトは「制限なし」です。

于 2015-07-27T16:26:37.097 に答える
2

制限なし

zmq_msg_t構造内で送信される小さなサイズのメッセージの場合、その制限は29バイトです(zmqバージョン3.2.2の場合)

「max_vsm_size=29」、https://github.com/zeromq/libzmq/blob/master/src/msg.hppから引用

于 2013-07-09T22:06:20.697 に答える
2

一部のソケットタイプは最大2^64をサポートしますが、2^31未満をサポートするものもあります。

とにかくチャンクをそのサイズ未満に保つプロトコルを構築する必要がありますが、これが本当の答えです。

https://github.com/zeromq/libzmq/issues/1332

于 2016-01-26T05:25:59.250 に答える