From d1701c92a4de250de82ee5f75c69078f13851622 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期四, 23 七月 2020 18:07:31 +0800 Subject: [PATCH] update --- demo/dgram_mod_req_rep.c | 34 +++++++++++++++++++--------------- 1 files changed, 19 insertions(+), 15 deletions(-) diff --git a/demo/dgram_mod_req_rep.c b/demo/dgram_mod_req_rep.c index ceaa18c..01ba750 100644 --- a/demo/dgram_mod_req_rep.c +++ b/demo/dgram_mod_req_rep.c @@ -1,3 +1,6 @@ +/** + * 閫傚簲浜庢敞鍐� + */ #include "dgram_mod_socket.h" #include "shm_mm.h" #include "usg_common.h" @@ -11,36 +14,34 @@ int rv; int remote_port; while ( (rv = dgram_mod_recvfrom(socket, &recvbuf, &size, &remote_port) ) == 0) { - printf( "REGIST CENTER RECEIVED REQUEST FROM %d: %s", remote_port, recvbuf); - sprintf(sendbuf, "RECEIVED FROM %d, %s", remote_port, recvbuf); + printf( "REGIST CENTER RECEIVED REQUEST FROM PORT %d NAME %s\n", remote_port, recvbuf); + sprintf(sendbuf, "RECEIVED FROM PORT %d NAME %s", remote_port, recvbuf); dgram_mod_sendto(socket, sendbuf, strlen(sendbuf) + 1, remote_port); free(recvbuf); } dgram_mod_close_socket(socket); } -void client(int port) { +void client(int port, char *sendbuf) { void *socket = dgram_mod_open_socket(REQ_REP); int size; void *recvbuf; - char sendbuf[512]; - while (true) { - printf("request: "); - scanf("%s", sendbuf); - dgram_mod_sendandrecv(socket, sendbuf, strlen(sendbuf) + 1, port, &recvbuf, &size); - printf("reply: %s\n", (char *)recvbuf); - free(recvbuf); - } + dgram_mod_sendandrecv(socket, sendbuf, strlen(sendbuf) + 1, port, &recvbuf, &size); + printf("reply: %s\n", (char *)recvbuf); + free(recvbuf); dgram_mod_close_socket(socket); } +void usage() { + fprintf(stderr, "Usage: reqrep %s|%s <PORT> <NAME>\n", "server", "client"); +} int main(int argc, char *argv[]) { shm_init(512); int port; if (argc < 3) { - fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client"); + usage(); return 1; } @@ -48,10 +49,13 @@ if (strcmp("server", argv[1]) == 0) { server(port); + } else if (strcmp("client", argv[1]) == 0) { + if (argc < 4) { + usage(); + return 1; + } + client(port, argv[3]); } - - if (strcmp("client", argv[1]) == 0) - client(port); return 0; -- Gitblit v1.8.0