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 ++++++-----
 /dev/null                             |   60 --------------------
 src/libshm_queue.a                    |    0 
 src/socket/mod_socket.c               |   10 ++-
 src/socket/dgram_mod_socket.c         |   14 ++++
 demo/dgram_mod_survey.c               |    4 +
 test_socket/dgram_mod_req_rep         |    0 
 src/socket/include/dgram_mod_socket.h |    8 +-
 demo/Makefile                         |    2 
 test_socket/dgram_mod_survey          |    0 
 10 files changed, 46 insertions(+), 86 deletions(-)

diff --git a/demo/Makefile b/demo/Makefile
index f7c6491..e339a50 100644
--- a/demo/Makefile
+++ b/demo/Makefile
@@ -14,7 +14,7 @@
 include $(ROOT)/Make.defines.$(PLATFORM)
 
 
-PROGS =	req_rep pub_sub queue
+PROGS = dgram_mod_req_rep dgram_mod_survey
 
 
 build: $(PROGS)
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;
diff --git a/demo/dgram_mod_survey.c b/demo/dgram_mod_survey.c
index f19b6a1..c98ec92 100644
--- a/demo/dgram_mod_survey.c
+++ b/demo/dgram_mod_survey.c
@@ -1,3 +1,7 @@
+/**
+ * 閫傚簲浜庡績璺�
+ */
+
 #include "dgram_mod_socket.h"
 #include "shm_mm.h"
 #include "usg_common.h"
diff --git a/demo/pub_sub.c b/demo/pub_sub.c
deleted file mode 100644
index 78aff69..0000000
--- a/demo/pub_sub.c
+++ /dev/null
@@ -1,57 +0,0 @@
-#include "mod_socket.h"
-#include "shm_mm.h"
-#include "usg_common.h"
-
-
-void server(int port) {
-	void *socket = mod_open_socket(PUB_SUB);
-	mod_socket_bind(socket, port);
-	mod_listen(socket);
-	int size;
-	void *recvbuf;
-	char sendbuf[512];
-	while(true) {
-		printf("璇疯緭鍏ュ彂甯冩秷鎭�:");
-		scanf("%s", sendbuf);
-		mod_send(socket, sendbuf, strlen(sendbuf)+1) ;
-		free(recvbuf);
-
-	}
-	mod_close_socket(socket);
-}
-
-void client(int port) {
-	void *socket = mod_open_socket(PUB_SUB);
-	mod_connect(socket, port);
-	int size;
-	void *recvbuf;
- 
-	while(mod_recv(socket, &recvbuf, &size) == 0) {
-		printf("鏀跺埌璁㈤槄娑堟伅: %s\n", (char *)recvbuf);
-		free(recvbuf);
-
-	}
-	mod_close_socket(socket);
-}
-
-int main(int argc, char *argv[]) {
-  shm_init(512);
-  int port;
-  if (argc < 3) {
-  	 fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client");
-  	 return 1;
-  }
-
-  port = atoi(argv[2]);
-
-  if (strcmp("server", argv[1]) == 0 ) {
-     server(port);
-  }
-
-  if (strcmp("client", argv[1]) == 0)
-     client(port);
-   
- shm_destroy();
- // fprintf(stderr, "Usage: reqrep %s|%s <URL> ...\n", "server", "client");
-  return 0;
-}
\ No newline at end of file
diff --git a/demo/queue b/demo/queue
deleted file mode 100755
index 642a722..0000000
--- a/demo/queue
+++ /dev/null
Binary files differ
diff --git a/demo/req_rep b/demo/req_rep
deleted file mode 100755
index 7ec846c..0000000
--- a/demo/req_rep
+++ /dev/null
Binary files differ
diff --git a/demo/req_rep.c b/demo/req_rep.c
deleted file mode 100644
index 5ae3133..0000000
--- a/demo/req_rep.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "mod_socket.h"
-#include "shm_mm.h"
-#include "usg_common.h"
-
-void server(int port) {
-  void *socket = mod_open_socket(REQ_REP);
-  mod_socket_bind(socket, port);
-  mod_listen(socket);
-  int size;
-  void *recvbuf;
-  char sendbuf[512];
-  int rv;
-  while ( (rv = mod_recv(socket, &recvbuf, &size) ) == 0) {
-    sprintf(sendbuf, "SERVER RECEIVED: %s", recvbuf);
-    puts(sendbuf);
-    mod_send(socket, sendbuf, strlen(sendbuf) + 1);
-    free(recvbuf);
-  }
-  mod_close_socket(socket);
-}
-
-void client(int port) {
-  void *socket = mod_open_socket(REQ_REP);
-  mod_connect(socket, port);
-  int size;
-  void *recvbuf;
-  char sendbuf[512];
-  while (true) {
-    printf("request: ");
-    scanf("%s", sendbuf);
-    mod_send(socket, sendbuf, strlen(sendbuf) + 1);
-    mod_recv(socket, &recvbuf, &size);
-    printf("reply: %s\n", (char *)recvbuf);
-    free(recvbuf);
-  }
-  mod_close_socket(socket);
-}
-
- 
-
-int main(int argc, char *argv[]) {
-  shm_init(512);
-  int port;
-  if (argc < 3) {
-    fprintf(stderr, "Usage: reqrep %s|%s <PORT> ...\n", "server", "client");
-    return 1;
-  }
-
-  port = atoi(argv[2]);
-
-  if (strcmp("server", argv[1]) == 0) {
-    server(port);
-  }
-
-  if (strcmp("client", argv[1]) == 0)
-    client(port);
-
-  
-  return 0;
-}
\ No newline at end of file
diff --git a/src/libshm_queue.a b/src/libshm_queue.a
index fc99639..4faef4c 100644
--- a/src/libshm_queue.a
+++ b/src/libshm_queue.a
Binary files differ
diff --git a/src/socket/dgram_mod_socket.c b/src/socket/dgram_mod_socket.c
index 4dac9e8..8f7036f 100644
--- a/src/socket/dgram_mod_socket.c
+++ b/src/socket/dgram_mod_socket.c
@@ -18,8 +18,6 @@
 void *dgram_mod_open_socket(int mod) {
 	dgram_mod_socket_t * socket = (dgram_mod_socket_t *)calloc(1, sizeof(dgram_mod_socket_t));
 	socket->mod = (socket_mod_t)mod;
-	// socket->recv_thread = 0;
-	// socket->recv_queue_map = NULL;
 	socket->shm_socket = shm_open_socket(SHM_SOCKET_DGRAM);
 	return (void *)socket;
 }
@@ -55,4 +53,16 @@
 	dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket;
 	return shm_sendandrecv(socket->shm_socket, send_buf, send_size, send_port, recv_buf, recv_size);
 
+}
+
+
+
+int dgram_mod_get_socket_port(void * _socket) {
+	dgram_mod_socket_t * socket = (dgram_mod_socket_t *) _socket;
+	return socket->shm_socket->port;
+}
+
+
+void dgram_mod_free(void *buf) {
+	free(buf);
 }
\ No newline at end of file
diff --git a/src/socket/include/dgram_mod_socket.h b/src/socket/include/dgram_mod_socket.h
index ab635a3..c698f68 100644
--- a/src/socket/include/dgram_mod_socket.h
+++ b/src/socket/include/dgram_mod_socket.h
@@ -18,9 +18,6 @@
 	
 };
 
- 
-
-
 void *dgram_mod_open_socket(int mod);
 
 int dgram_mod_close_socket(void * _socket);
@@ -30,10 +27,13 @@
 int dgram_mod_sendto(void *_socket, const void *buf, const int size, const int port);
 
 int dgram_mod_recvfrom(void *_socket, void **buf, int *size, int *port);
- 
 
 int dgram_mod_sendandrecv(void * _socket, const void *send_buf, const int send_size, const int port, void **recv_buf, int *recv_size) ;
 
+int dgram_mod_get_socket_port(void * _socket) ;
+
+void dgram_mod_free(void *buf) ;
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/src/socket/mod_socket.c b/src/socket/mod_socket.c
index 62e8b8f..7629621 100644
--- a/src/socket/mod_socket.c
+++ b/src/socket/mod_socket.c
@@ -60,10 +60,7 @@
 	return rv;
 }
 
-int mod_get_socket_port(void * _socket) {
-	mod_socket_t * socket = (mod_socket_t *) _socket;
-	return socket->shm_socket->port;
-}
+
 
 
 int mod_socket_bind(void * _socket, int port){
@@ -192,6 +189,11 @@
 	return -1;
 }
 
+int mod_get_socket_port(void * _socket) {
+	mod_socket_t * socket = (mod_socket_t *) _socket;
+	return socket->shm_socket->port;
+}
+
 
 void mod_free(void *buf) {
 	free(buf);
diff --git a/test_socket/dgram_mod_req_rep b/test_socket/dgram_mod_req_rep
index 0405276..c9694d9 100755
--- a/test_socket/dgram_mod_req_rep
+++ b/test_socket/dgram_mod_req_rep
Binary files differ
diff --git a/test_socket/dgram_mod_survey b/test_socket/dgram_mod_survey
index 098d542..3cb69a6 100755
--- a/test_socket/dgram_mod_survey
+++ b/test_socket/dgram_mod_survey
Binary files differ

--
Gitblit v1.8.0