From aa2f3b2a9968bb4928463bdae05fb026d16b60bb Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期五, 04 十二月 2020 19:07:01 +0800
Subject: [PATCH] 固定bus key

---
 test_socket/dgram_mod_req_rep.c |   43 +++++++++++++++++++++++++++++++++----------
 1 files changed, 33 insertions(+), 10 deletions(-)

diff --git a/test_socket/dgram_mod_req_rep.c b/test_socket/dgram_mod_req_rep.c
index 9ed938b..39dbac1 100644
--- a/test_socket/dgram_mod_req_rep.c
+++ b/test_socket/dgram_mod_req_rep.c
@@ -1,5 +1,5 @@
 #include "dgram_mod_socket.h"
-#include "shm_mm.h"
+#include "shm_mm_wraper.h"
 #include "usg_common.h"
 #include "lock_free_queue.h"
 
@@ -20,7 +20,7 @@
 }Targ;
 
 LockFreeQueue<task_t, DM_Allocator> task_queue(128);
-
+void *client;
 
 void *worker(void *socket) {
 	pthread_detach(pthread_self());
@@ -57,7 +57,7 @@
   dgram_mod_close_socket(socket);
 }
 
-void client(int port) {
+void startClient(int port) {
   void *socket = dgram_mod_open_socket();
   int size;
   void *recvbuf;
@@ -65,6 +65,20 @@
   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_close_socket(socket);
+}
+
+void client2(int port) {
+  void *socket = dgram_mod_open_socket();
+  int size;
+  void *recvbuf;
+  char sendbuf[512];
+  while (true) {
+    sprintf(sendbuf, "hello\n" );
     dgram_mod_sendandrecv(socket, sendbuf, strlen(sendbuf) + 1, port, &recvbuf, &size);
     printf("reply: %s\n", (char *)recvbuf);
     free(recvbuf);
@@ -80,7 +94,7 @@
   char sendbuf[512];
   int scale = 100000;
   int i;
-  void *socket = dgram_mod_open_socket();
+ 
 	
 	char filename[512];
 	sprintf(filename, "test%d.tmp", targ->id);
@@ -92,12 +106,12 @@
   for (i = 0; i < scale; i++) {
     sprintf(sendbuf, "thread(%d) %d", targ->id, i);
     fprintf(fp, "requst:%s\n", sendbuf);
-    dgram_mod_sendandrecv(socket, sendbuf, strlen(sendbuf) + 1, port, &recvbuf, &recvsize);
+    dgram_mod_sendandrecv(client, sendbuf, strlen(sendbuf) + 1, port, &recvbuf, &recvsize);
 		fprintf(fp, "reply: %s\n", (char *)recvbuf);
 		free(recvbuf);
   }
   fclose(fp);
-  dgram_mod_close_socket(socket);
+ 
   return (void *)i;
 }
 
@@ -110,6 +124,9 @@
   char sendbuf[512];
 
   struct timeval start;
+
+  client = dgram_mod_open_socket();
+
   gettimeofday(&start, NULL);
   for (i = 0; i < processors; i++) {
     targs[i].port = port;
@@ -132,11 +149,12 @@
   long diffsec = (long) (difftime/1000000);
   long diffmsec = difftime - diffsec*1000000;
   printf("cost: %ld sec: %ld msc\n", diffsec, diffmsec);
+  dgram_mod_close_socket(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");
@@ -146,11 +164,16 @@
   port = atoi(argv[2]);
 
   if (strcmp("server", argv[1]) == 0) {
+    // int temp = shm_mm_wrapper_alloc_key();
+    // printf("tmp=%d\n", temp);
     server(port);
-  }
-
-  if (strcmp("client", argv[1]) == 0)
+  } else if (strcmp("mclient", argv[1]) == 0) {
     startClients(port);
+  } else if (strcmp("client", argv[1]) == 0) {
+    startClient(port);
+  } else {
+    printf("input invalidate arguments\n");
+  }
 
   
   return 0;

--
Gitblit v1.8.0