From c46be6db32872bfd7c4010b43526b5e6bc0fa6a5 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 25 一月 2021 14:04:59 +0800 Subject: [PATCH] update --- test_net_socket/heart_beat.cpp | 49 +++++++++++++++++++++++++++---------------------- 1 files changed, 27 insertions(+), 22 deletions(-) diff --git a/test_net_socket/heart_beat.cpp b/test_net_socket/heart_beat.cpp index d7f5ed3..cd21a84 100644 --- a/test_net_socket/heart_beat.cpp +++ b/test_net_socket/heart_beat.cpp @@ -2,7 +2,7 @@ #include "net_mod_socket_wrapper.h" #include "bus_server_socket_wrapper.h" -#include "shm_mm_wraper.h" +#include "shm_mm_wrapper.h" #include "usg_common.h" #include <getopt.h> @@ -15,9 +15,9 @@ void sigint_handler(int sig) { // net_mod_socket_close(server_socket); - printf("===Catch sigint======================\n"); - shm_mm_wrapper_destroy(); - exit(0); + // printf("===Catch sigint======================\n"); + // shm_mm_wrapper_destroy(); + // exit(0); } void server(int port) { @@ -28,10 +28,13 @@ char sendbuf[512]; int rv; int remote_port; - while (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); + while (true) { + if(net_mod_socket_recvfrom_timeout(serv, &recvbuf, &size, &remote_port, 0, 2000000000)==0) { + printf( "RECEIVED HREARTBEAT FROM %d: %s\n", remote_port, recvbuf); + net_mod_socket_sendto(serv, "suc", strlen("suc")+1, remote_port); + free(recvbuf); + } + } // sleep(1000); net_mod_socket_close(serv); @@ -50,8 +53,10 @@ net_mod_recv_msg_t *recv_arr; while (true) { sprintf(sendbuf, "%d", i); - printf("SEND HEART:%s\n", sendbuf); - rv = net_mod_socket_sendandrecv_timeout(client, node_arr, node_arr_size, sendbuf, strlen(sendbuf)+1, NULL, NULL, 1000); + rv = net_mod_socket_sendandrecv_timeout(client, node_arr, node_arr_size, sendbuf, strlen(sendbuf)+1, NULL, NULL, 2000); + //rv = net_mod_socket_sendandrecv(client, node_arr, node_arr_size, sendbuf, strlen(sendbuf)+1, NULL, NULL); + printf("SEND HEART:%s, suc nodes = %d\n", sendbuf, rv); + // sleep(1); i++; } @@ -60,13 +65,13 @@ void *runclient(void *arg) { - signal(SIGINT, sigint_handler); + // signal(SIGINT, sigint_handler); Targ *targ = (Targ *)arg; int port = targ->port; - void *socket = net_mod_socket_open(); + void *client = net_mod_socket_open(); int size; char sendbuf[512]; - long scale = 10; + long scale = 100000; long i = 0; net_node_t node_arr[] = {"", 0, 100}; int node_arr_size = 1; @@ -77,19 +82,19 @@ while (i < scale) { sprintf(sendbuf, "%d", i); printf("%d SEND HEART:%s\n", targ->id, sendbuf); - net_mod_socket_sendto(socket, sendbuf, strlen(sendbuf) + 1, port); - sleep(1); + net_mod_socket_sendandrecv(client, node_arr, node_arr_size, sendbuf, strlen(sendbuf)+1, NULL, NULL); + // net_mod_socket_sendto(socket, sendbuf, strlen(sendbuf) + 1, port); i++; } - net_mod_socket_close(socket); + net_mod_socket_close(client); return (void *)i; } -void startClients(int port) { +void mclient(int port) { - int status, i = 0, processors = 100; + int status, i = 0, processors = 4; void *res[processors]; Targ *targs = (Targ *)calloc(processors, sizeof(Targ)); pthread_t tids[processors]; @@ -130,12 +135,12 @@ port = atoi(argv[2]); - if (strcmp("server", argv[1]) == 0) { + if (strcmp("server", argv[1]) == 0) server(port); - } - - if (strcmp("client", argv[1]) == 0) + else if (strcmp("client", argv[1]) == 0) client(port); + else if (strcmp("mclient", argv[1]) == 0) + mclient(port); shm_mm_wrapper_destroy(); return 0; -- Gitblit v1.8.0