From 0fd19aa1c8a2bf543099d6b1077ff19078f9074e Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期四, 24 十二月 2020 11:35:12 +0800
Subject: [PATCH] Merge branch 'dev'
---
demo/dgram_mod_req_rep.c | 41 ++++++++++++++++++++++++-----------------
1 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/demo/dgram_mod_req_rep.c b/demo/dgram_mod_req_rep.c
index ceaa18c..512f279 100644
--- a/demo/dgram_mod_req_rep.c
+++ b/demo/dgram_mod_req_rep.c
@@ -1,9 +1,12 @@
+/**
+ * 閫傚簲浜庢敞鍐�
+ */
#include "dgram_mod_socket.h"
-#include "shm_mm.h"
+#include "shm_mm_wraper.h"
#include "usg_common.h"
void server(int port) {
- void *socket = dgram_mod_open_socket(REQ_REP);
+ void *socket = dgram_mod_open_socket();
dgram_mod_bind(socket, port);
int size;
void *recvbuf;
@@ -11,36 +14,37 @@
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( "server: RECEIVED REQUEST FROM PORT %d NAME %s\n", remote_port, recvbuf);
+ sprintf(sendbuf, "RECEIVED 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 *socket = dgram_mod_open_socket(REQ_REP);
+void client(int port, char *sendbuf) {
+ void *socket = dgram_mod_open_socket();
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);
+ printf("client :send request %s\n", sendbuf);
+ if(dgram_mod_sendandrecv(socket, sendbuf, strlen(sendbuf) + 1, port, &recvbuf, &size) == 0) {
+ printf("client :received 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);
+ shm_mm_wrapper_init(512);
int port;
if (argc < 3) {
- fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client");
+ usage();
return 1;
}
@@ -48,10 +52,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