| | |
| | | |
| | | #define SCALE 100000 |
| | | |
| | | static Logger *logger = LoggerFactory::getLogger(); |
| | | |
| | | typedef struct Targ { |
| | | net_node_t *node; |
| | | char *nodelist; |
| | |
| | | |
| | | void *serverSockt; |
| | | |
| | | |
| | | static void _recvandsend_callback_(void *recvbuf, int recvsize, int key, void **sendbuf_ptr, int *sendsize_ptr, void * user_data) { |
| | | char sendbuf[512]; |
| | | printf( "server: RECEIVED REQUEST FROM %d : %s\n", key, (char *)recvbuf); |
| | |
| | | return; |
| | | } |
| | | |
| | | bool stop = false; |
| | | |
| | | static void stop_replyserver_handler(int sig) { |
| | | printf("stop_handler\n"); |
| | | |
| | | int rv = net_mod_socket_stop(serverSockt); |
| | | if(rv ==0) { |
| | | logger->debug("send stop suc"); |
| | | return; |
| | | } else { |
| | | logger->debug("send stop fail.%s\n", bus_strerror(rv)); |
| | | } |
| | | } |
| | | |
| | | void start_reply(int mkey) { |
| | | printf("start reply\n"); |
| | | logger->debug("start reply\n"); |
| | | signal(SIGINT, stop_replyserver_handler); |
| | | signal(SIGTERM, stop_replyserver_handler); |
| | | |
| | | serverSockt = net_mod_socket_open(); |
| | | net_mod_socket_bind(serverSockt, mkey); |
| | | |
| | | int rv; |
| | | while(true) { |
| | | rv = net_mod_socket_recvandsend_timeout(serverSockt, _recvandsend_callback_ , 0, 2000000, NULL ); |
| | | int rv = 0 ; |
| | | while( true) { |
| | | rv = net_mod_socket_recvandsend(serverSockt, _recvandsend_callback_ , NULL ); |
| | | if (rv == 0) |
| | | continue; |
| | | if(rv == EBUS_STOPED) { |
| | | logger->debug("Stopping\n"); |
| | | break; |
| | | } |
| | | logger->debug("net_mod_socket_recvandsend error.%s\n", bus_strerror(rv)); |
| | | |
| | | } |
| | | |
| | | //rv = net_mod_socket_recvandsend_timeout(serverSockt, _recvandsend_callback_ , 0, 2000000, NULL ); |
| | | net_mod_socket_close(serverSockt); |
| | | logger->debug("stopted\n"); |
| | | // while ( (rv = net_mod_socket_recvfrom(ser, &recvbuf, &size, &key) ) == 0) { |
| | | // // printf( "server: RECEIVED REQUEST FROM %d NAME %s\n", key, recvbuf); |
| | | // sprintf(sendbuf, "%d RECEIVED %s", net_mod_socket_get_key(ser), (char *)recvbuf); |