From 33e6b9627e6a46d388d46f2c5b4d15ba7e9f9904 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Wed, 18 Oct 2017 21:34:55 -0400 Subject: Started refactoring * Finished a basic server * Changed from ZMQ to nanomsg (basically the same though) * Moved some repeated code from the client/server directories into "shared" * Edited makefile to reflect new dependencies --- src/server/testclient.cpp | 110 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 src/server/testclient.cpp (limited to 'src/server/testclient.cpp') diff --git a/src/server/testclient.cpp b/src/server/testclient.cpp new file mode 100644 index 0000000..0aab8a2 --- /dev/null +++ b/src/server/testclient.cpp @@ -0,0 +1,110 @@ +// +// // Minimal C ZMQ Client example +// +// // Properties -> Linker -> Input -> Additional dependencies "libzmq.lib" +// // Properties -> Linker -> Input -> Additional dependencies "ws2_32.lib" +// +// #include +// #include "zmq.h" +// +// +// #define WS_VER 0x0202 +// #define DEFAULT_PORT "5001" +// +// +// int main () +// { +// int retval; +// void *ctx, *s; +// zmq_msg_t query, reply; +// const char *query_string = "SELECT * FROM sometable, END SERVER", *reply_string; +// +// +// printf( "Initialise ZMQ context: \n" ); +// +// // Initialise ZMQ context, requesting a single application thread and a single I/O thread +// ctx = zmq_init(1); +// if( ctx == 0 ) { +// printf( "Error zmq_init: '%s'\n", zmq_strerror(errno) ); +// return 0; +// } +// +// while(1) { +// printf( "Create a ZMQ_REP socket: \n" ); +// // Create a ZMQ_REP socket to receive requests and send replies +// s = zmq_socket( ctx, ZMQ_REQ ); +// if( s == 0 ) { +// printf( "Error zmq_socket: '%s'\n", zmq_strerror(errno) ); +// break; +// } +// +// retval = zmq_connect( s, "tcp://localhost:5555" ); +// if( retval != 0 ) { +// printf( "Error zmq_connect: '%s'\n", zmq_strerror(errno) ); +// break; +// } +// +// +// // Allocate a message and fill it +// retval = zmq_msg_init_size( &query, strlen(query_string)+1 ); +// if( retval != 0 ) { +// printf( "Error zmq_msg_init_size: '%s'\n", zmq_strerror(errno) ); +// break; +// } +// +// memcpy( zmq_msg_data (&query), query_string, strlen (query_string)+1 ); +// +// printf( "Send Query: '%s'\n", query_string ); +// // Send Query +// retval = zmq_send( s, &query, 0 , 0); +// if( retval != 0 ) { +// printf( "Error zmq_send: '%s'\n", zmq_strerror(errno) ); +// break; +// } +// +// +// +// // Recover response +// zmq_msg_init(&reply); +// if( retval != 0 ) { +// printf( "Error zmq_msg_init: '%s'\n", zmq_strerror(errno) ); +// break; +// } +// +// printf( "Waiting for reply: \n"); +// +// // Receive reply, blocks until one is available +// retval = zmq_recv( s, &reply, 0 , 0); +// if( retval != 0 ) { +// printf( "Error zmq_recv: '%s'\n", zmq_strerror(errno) ); +// break; +// } +// +// // Process the reply +// reply_string = (const char *)zmq_msg_data(&reply); +// printf("Server reply: '%s'\n", reply_string); +// +// +// // Free message memory +// zmq_msg_close(&reply); +// +// break; +// } +// +// +// // Close connection +// if( s != 0) { +// printf( "Close connection \n"); +// retval = zmq_close(s); +// if( retval != 0 ) { +// printf( "Error zmq_close: '%s'\n", zmq_strerror(errno) ); +// } +// } +// +// // Release library resources +// retval = zmq_term(ctx); +// +// printf( "All Done \n" ); +// +// return 0; +// } -- cgit v1.2.3-70-g09d2