zeromq里面关这个对垒长度限制叫做 “High Water Marks”,2.0版本默认是没有限制的,3.0里面这个长度默认为1000。这个比较容易达到啊,根据包大小和消耗的内存大概修改一下才行。 zeromq的api也提供了修改系统的tcp缓存大小的接口了。
详细的socket选项,参考 http://api.zeromq.org/3-2:zmq-setsockopt
https://www.cnblogs.com/fengbohello/p/4398953.html
ZMQ_SNDHWM: Set high water mark for outbound messages
ZMQ_RCVHWM: Set high water mark for inbound messages
socket = new zmq :: socket_t (* context , ZMQ_PUSH );
int queue_length = 5000 ;
socket -> setsockopt ( ZMQ_SNDHWM , & queue_length , sizeof ( queue_length ));
socket -> connect ( "tcp://127.0.0.1:5555" );