File was renamed from test_socket/dgram_mod_survey.c |
| | |
| | | #include "dgram_mod_socket.h" |
| | | #include "net_mod_server_socket_wrapper.h" |
| | | #include "net_mod_socket_wrapper.h" |
| | | #include "bus_server_socket_wrapper.h" |
| | | |
| | | #include "shm_mm_wraper.h" |
| | | #include "usg_common.h" |
| | | #include <getopt.h> |
| | | |
| | | |
| | | typedef struct Targ { |
| | |
| | | }Targ; |
| | | |
| | | void sigint_handler(int sig) { |
| | | //dgram_mod_close_socket(server_socket); |
| | | // net_mod_socket_close(server_socket); |
| | | printf("===Catch sigint======================\n"); |
| | | shm_mm_wrapper_destroy(); |
| | | exit(0); |
| | | } |
| | | |
| | | void server(int port) { |
| | | void *socket = dgram_mod_open_socket(); |
| | | dgram_mod_bind(socket, port); |
| | | void *serv = net_mod_socket_open(); |
| | | net_mod_socket_bind(serv, port); |
| | | int size; |
| | | void *recvbuf; |
| | | char sendbuf[512]; |
| | | int rv; |
| | | int remote_port; |
| | | while (true) { |
| | | if ((rv = dgram_mod_recvfrom_timeout(socket, &recvbuf, &size, &remote_port, 15, 0) ) == 0) { |
| | | if ((rv = net_mod_socket_recvfrom(serv, &recvbuf, &size, &remote_port) ) == 0) { |
| | | printf( "RECEIVED HREARTBEAT FROM %d: %s\n", remote_port, recvbuf); |
| | | net_mod_socket_sendto(serv, "suc", strlen("suc")+1, remote_port); |
| | | free(recvbuf); |
| | | } |
| | | |
| | | } |
| | | dgram_mod_close_socket(socket); |
| | | net_mod_socket_close(serv); |
| | | } |
| | | |
| | | void client(int port) { |
| | | void *socket = dgram_mod_open_socket(); |
| | | int rv; |
| | | void *client = net_mod_socket_open(); |
| | | int size; |
| | | char sendbuf[512]; |
| | | long i = 0; |
| | | net_node_t node_arr[] = {"", 0, 100}; |
| | | int node_arr_size = 1; |
| | | |
| | | int recv_arr_size; |
| | | net_mod_recv_msg_t *recv_arr; |
| | | while (true) { |
| | | sprintf(sendbuf, "%d", i); |
| | | printf("SEND HEART:%s\n", sendbuf); |
| | | dgram_mod_sendto(socket, sendbuf, strlen(sendbuf) + 1, port); |
| | | rv = net_mod_socket_sendandrecv(client, node_arr, node_arr_size, sendbuf, strlen(sendbuf)+1, NULL, NULL); |
| | | // sleep(1); |
| | | i++; |
| | | } |
| | | dgram_mod_close_socket(socket); |
| | | net_mod_socket_close(client); |
| | | } |
| | | |
| | | |
| | |
| | | signal(SIGINT, sigint_handler); |
| | | Targ *targ = (Targ *)arg; |
| | | int port = targ->port; |
| | | void *socket = dgram_mod_open_socket(); |
| | | void *socket = net_mod_socket_open(); |
| | | int size; |
| | | char sendbuf[512]; |
| | | long scale = 10; |
| | | long i = 0; |
| | | net_node_t node_arr[] = {"", 0, 100}; |
| | | int node_arr_size = 1; |
| | | |
| | | int recv_arr_size; |
| | | net_mod_recv_msg_t *recv_arr; |
| | | |
| | | while (i < scale) { |
| | | sprintf(sendbuf, "%d", i); |
| | | printf("%d SEND HEART:%s\n", targ->id, sendbuf); |
| | | dgram_mod_sendto(socket, sendbuf, strlen(sendbuf) + 1, port); |
| | | net_mod_socket_sendto(socket, sendbuf, strlen(sendbuf) + 1, port); |
| | | sleep(1); |
| | | i++; |
| | | } |
| | | |
| | | dgram_mod_close_socket(socket); |
| | | net_mod_socket_close(socket); |
| | | return (void *)i; |
| | | } |
| | | |