You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							122 lines
						
					
					
						
							4.3 KiB
						
					
					
				
			
		
		
	
	
							122 lines
						
					
					
						
							4.3 KiB
						
					
					
				| '\" t
 | |
| .\"     Title: zmq_recv
 | |
| .\"    Author: [see the "AUTHORS" section]
 | |
| .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
 | |
| .\"      Date: 02/18/2017
 | |
| .\"    Manual: 0MQ Manual
 | |
| .\"    Source: 0MQ 4.2.2
 | |
| .\"  Language: English
 | |
| .\"
 | |
| .TH "ZMQ_RECV" "3" "02/18/2017" "0MQ 4\&.2\&.2" "0MQ Manual"
 | |
| .\" -----------------------------------------------------------------
 | |
| .\" * Define some portability stuff
 | |
| .\" -----------------------------------------------------------------
 | |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| .\" http://bugs.debian.org/507673
 | |
| .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
 | |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 | |
| .ie \n(.g .ds Aq \(aq
 | |
| .el       .ds Aq '
 | |
| .\" -----------------------------------------------------------------
 | |
| .\" * set default formatting
 | |
| .\" -----------------------------------------------------------------
 | |
| .\" disable hyphenation
 | |
| .nh
 | |
| .\" disable justification (adjust text to left margin only)
 | |
| .ad l
 | |
| .\" -----------------------------------------------------------------
 | |
| .\" * MAIN CONTENT STARTS HERE *
 | |
| .\" -----------------------------------------------------------------
 | |
| .SH "NAME"
 | |
| zmq_recv \- receive a message part from a socket
 | |
| .SH "SYNOPSIS"
 | |
| .sp
 | |
| \fBint zmq_recv (void \fR\fB\fI*socket\fR\fR\fB, void \fR\fB\fI*buf\fR\fR\fB, size_t \fR\fB\fIlen\fR\fR\fB, int \fR\fB\fIflags\fR\fR\fB);\fR
 | |
| .SH "DESCRIPTION"
 | |
| .sp
 | |
| The \fIzmq_recv()\fR function shall receive a message from the socket referenced by the \fIsocket\fR argument and store it in the buffer referenced by the \fIbuf\fR argument\&. Any bytes exceeding the length specified by the \fIlen\fR argument shall be truncated\&. If there are no messages available on the specified \fIsocket\fR the \fIzmq_recv()\fR function shall block until the request can be satisfied\&. The \fIflags\fR argument is a combination of the flags defined below: The \fIbuf\fR argument may be null if len is zero\&.
 | |
| .PP
 | |
| \fBZMQ_DONTWAIT\fR
 | |
| .RS 4
 | |
| Specifies that the operation should be performed in non\-blocking mode\&. If there are no messages available on the specified
 | |
| \fIsocket\fR, the
 | |
| \fIzmq_recv()\fR
 | |
| function shall fail with
 | |
| \fIerrno\fR
 | |
| set to EAGAIN\&.
 | |
| .RE
 | |
| .SS "Multi\-part messages"
 | |
| .sp
 | |
| A 0MQ message is composed of 1 or more message parts\&. 0MQ ensures atomic delivery of messages: peers shall receive either all \fImessage parts\fR of a message or none at all\&. The total number of message parts is unlimited except by available memory\&.
 | |
| .sp
 | |
| An application that processes multi\-part messages must use the \fIZMQ_RCVMORE\fR \fBzmq_getsockopt\fR(3) option after calling \fIzmq_recv()\fR to determine if there are further parts to receive\&.
 | |
| .SH "RETURN VALUE"
 | |
| .sp
 | |
| The \fIzmq_recv()\fR function shall return number of bytes in the message if successful\&. Note that the value can exceed the value of the \fIlen\fR parameter in case the message was truncated\&. If not successful the function shall return \-1 and set \fIerrno\fR to one of the values defined below\&.
 | |
| .SH "ERRORS"
 | |
| .PP
 | |
| \fBEAGAIN\fR
 | |
| .RS 4
 | |
| Non\-blocking mode was requested and no messages are available at the moment\&.
 | |
| .RE
 | |
| .PP
 | |
| \fBENOTSUP\fR
 | |
| .RS 4
 | |
| The
 | |
| \fIzmq_recv()\fR
 | |
| operation is not supported by this socket type\&.
 | |
| .RE
 | |
| .PP
 | |
| \fBEFSM\fR
 | |
| .RS 4
 | |
| The
 | |
| \fIzmq_recv()\fR
 | |
| operation cannot be performed on this socket at the moment due to the socket not being in the appropriate state\&. This error may occur with socket types that switch between several states, such as ZMQ_REP\&. See the
 | |
| \fImessaging patterns\fR
 | |
| section of
 | |
| \fBzmq_socket\fR(3)
 | |
| for more information\&.
 | |
| .RE
 | |
| .PP
 | |
| \fBETERM\fR
 | |
| .RS 4
 | |
| The 0MQ
 | |
| \fIcontext\fR
 | |
| associated with the specified
 | |
| \fIsocket\fR
 | |
| was terminated\&.
 | |
| .RE
 | |
| .PP
 | |
| \fBENOTSOCK\fR
 | |
| .RS 4
 | |
| The provided
 | |
| \fIsocket\fR
 | |
| was invalid\&.
 | |
| .RE
 | |
| .PP
 | |
| \fBEINTR\fR
 | |
| .RS 4
 | |
| The operation was interrupted by delivery of a signal before a message was available\&.
 | |
| .RE
 | |
| .SH "EXAMPLE"
 | |
| .PP
 | |
| \fBReceiving a message from a socket\fR. 
 | |
| .sp
 | |
| .if n \{\
 | |
| .RS 4
 | |
| .\}
 | |
| .nf
 | |
| char buf [256];
 | |
| nbytes = zmq_recv (socket, buf, 256, 0);
 | |
| assert (nbytes != \-1);
 | |
| .fi
 | |
| .if n \{\
 | |
| .RE
 | |
| .\}
 | |
| .sp
 | |
| .SH "SEE ALSO"
 | |
| .sp
 | |
| \fBzmq_send\fR(3) \fBzmq_getsockopt\fR(3) \fBzmq_socket\fR(7) \fBzmq\fR(7)
 | |
| .SH "AUTHORS"
 | |
| .sp
 | |
| This page was written by the 0MQ community\&. To make a change please read the 0MQ Contribution Policy at \m[blue]\fBhttp://www\&.zeromq\&.org/docs:contributing\fR\m[]\&.
 | |
| 
 |