Done https://github.com/zeromq/libzmq/pull/647
2013/9/4 Pieter Hintjens <[email protected]> > Hi Sébastien, > > You're right that the man page could be improved. Why not do that, and > send us a pull request? > > -Pieter > > On Wed, Sep 4, 2013 at 8:10 PM, Sébastien Pierre > <[email protected]> wrote: > > Thanks Pieter, > > > > On a side note, the documentation might benefit from an example and > maybe a > > clarification. I found this part from doc/zmq_socket.txt a bit > misleading: > > > > "To close a specific client connection, as a server, send a zero-length > > message following the identity frame." > > > > which I translated to the following code: > > > > zmq_send (server, 0, 0, ZMQ_SNDMORE); > > zmq_send (server, id, id_size, ZMQ_SNDMORE); > > > > I obviously read "followed by" instead of "following", but maybe saying > > "send the identify frame followed by a zero-length message" would be > > clearer. > > > > I also got surprised that not using the ZMQ_SNDMORE in zmq_send flag > would > > result in not being able to respond to further requests. > > > > Thanks again for your explanation, > > > > -- Sébastien > > > > > > > > > > 2013/9/4 Pieter Hintjens <[email protected]> > >> > >> ZMQ_STREAM does buffer, but only between the I/O thread and the > >> application. That is, if you're reading from the socket slower than > >> the network delivers data, it will queue up. However since it's a > >> stream, potentially infinite, it would be pathological (and difficult) > >> to buffer the whole request (essentially the whole connection). > >> > >> Remember that with TCP streams, there are no messages. When parsing > >> HTTP, you read and accumulate data until you get either an end of > >> connection, or that famous blank line signalling the end of the > >> header; you then have to look for a Content-Size header, parse that, > >> and then you can expect that many bytes of data after the blank line. > >> > >> -Pieter > >> > >> On Wed, Sep 4, 2013 at 7:41 PM, Sébastien Pierre > >> <[email protected]> wrote: > >> > Hi all, > >> > > >> > I'm new to ZMQ and wrote a quick and dirty HTTP server using the > >> > recently > >> > released ZMQ_STREAM socket type. I was wondering (before spending too > >> > much > >> > time on it) if this type of socket buffers the client's request before > >> > sending it to the server (in the zmq_rcv). > >> > > >> > I'm thinking of the particular use case where a web browser is > uploading > >> > a > >> > large file (say a 100Mb video). I've read here and there in the ZMQ > >> > guide > >> > that messages have to fit in the whole memory... is this the case with > >> > ZMQ_STREAM as well? I assume that it's not the case and that we would > >> > receive a series of messages instead of a 100Mb+ message, but I just > >> > wanted > >> > to hear that from the horse's mouth ;) > >> > > >> > Thanks, > >> > > >> > -- Sébastien > >> > > >> > _______________________________________________ > >> > zeromq-dev mailing list > >> > [email protected] > >> > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >> > > >> _______________________________________________ > >> zeromq-dev mailing list > >> [email protected] > >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > > > > > _______________________________________________ > > zeromq-dev mailing list > > [email protected] > > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
