From 5f0b9de6d837daf43c6ab26d41c829621c3ca727 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 30 Nov 2006 15:06:46 +0000 Subject: * Benchmarking Unix domain sockets. --- socket/client.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 socket/client.c (limited to 'socket/client.c') diff --git a/socket/client.c b/socket/client.c new file mode 100644 index 000000000000..a132a7a9ee95 --- /dev/null +++ b/socket/client.c @@ -0,0 +1,43 @@ +#include +#include +#include +#include +#include + +#include +#include +#include + + +#define SOCKET_PATH "/tmp/nix-daemon" + + +int main(int argc, char * * argv) +{ + int res; + + int sock = socket(PF_UNIX, SOCK_STREAM, 0); + assert(sock != -1); + + struct sockaddr_un addr; + addr.sun_family = AF_UNIX; + strcpy(addr.sun_path, SOCKET_PATH); + + res = connect(sock, (struct sockaddr *) &addr, sizeof(addr)); + assert(res != -1); + + int i; + for (i = 0; i < 100000; i++) { + int len = send(sock, &i, sizeof(i), 0); + assert(len == sizeof(i)); + + int j; + len = recv(sock, &j, sizeof(j), 0); + if (len < sizeof(j)) break; + assert(i * 2 == j); + } + + close(sock); + + return 0; +} -- cgit 1.4.1