32 #if defined (ZMQ_HAVE_WINDOWS) 33 # include <winsock2.h> 34 # include <ws2tcpip.h> 36 # define close closesocket 38 # include <sys/socket.h> 39 # include <netinet/in.h> 40 # include <arpa/inet.h> 48 const int msgsize = 8193;
49 char sndbuf[msgsize] =
"\xde\xad\xbe\xef";
50 unsigned char rcvbuf[msgsize];
52 int server_sock = socket(AF_INET, SOCK_STREAM, 0);
53 assert(server_sock!=-1);
55 int rc = setsockopt (server_sock, SOL_SOCKET, SO_REUSEADDR, (
char *) &enable,
sizeof(enable));
58 struct sockaddr_in saddr;
59 memset(&saddr, 0,
sizeof(saddr));
60 saddr.sin_family = AF_INET;
61 saddr.sin_addr.s_addr = INADDR_ANY;
62 saddr.sin_port = htons(12345);
64 rc =
bind(server_sock, (
struct sockaddr *)&saddr,
sizeof(saddr));
66 rc = listen(server_sock, 1);
76 int client_sock = accept(server_sock, NULL, NULL);
77 assert(client_sock!=-1);
79 rc = close(server_sock);
82 rc = send(client_sock, sndbuf, msgsize, 0);
109 assert(rcvbytes >= 4);
112 assert(rcvbuf[3]==0xef);
113 assert(rcvbuf[2]==0xbe);
114 assert(rcvbuf[1]==0xad);
115 assert(rcvbuf[0]==0xde);
ZMQ_EXPORT void * zmq_ctx_new(void)
ZMQ_EXPORT void * zmq_msg_data(zmq_msg_t *msg)
ZMQ_EXPORT void * zmq_socket(void *, int type)
ZMQ_EXPORT int zmq_connect(void *s, const char *addr)
ZMQ_EXPORT int zmq_close(void *s)
ZMQ_EXPORT int zmq_msg_recv(zmq_msg_t *msg, void *s, int flags)
ZMQ_EXPORT int zmq_msg_more(zmq_msg_t *msg)
ZMQ_EXPORT int zmq_ctx_destroy(void *context)
ZMQ_EXPORT int zmq_msg_close(zmq_msg_t *msg)
ZMQ_EXPORT size_t zmq_msg_size(zmq_msg_t *msg)
ZMQ_EXPORT int zmq_msg_init(zmq_msg_t *msg)