From 803d392aeb11665a3e34f7be83f972a1fc7d39c0 Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期四, 04 二月 2021 15:47:39 +0800
Subject: [PATCH] update

---
 test_net_socket/test_net_mod_socket.cpp |   32 ++++++++++++++++++--------------
 1 files changed, 18 insertions(+), 14 deletions(-)

diff --git a/test_net_socket/test_net_mod_socket.cpp b/test_net_socket/test_net_mod_socket.cpp
index 8711bca..2ebbd06 100644
--- a/test_net_socket/test_net_mod_socket.cpp
+++ b/test_net_socket/test_net_mod_socket.cpp
@@ -131,25 +131,29 @@
   }
 }
 
- 
+void *serverSockt;
+
+static void _recvandsend_callback_(void *recvbuf, int recvsize, int key, void **sendbuf_ptr, int *sendsize_ptr, void * user_data) {
+  char sendbuf[512];
+  printf( "server: RECEIVED REQUEST FROM  %d : %s\n", key, (char *)recvbuf);
+  sprintf(sendbuf, "%d RECEIVED %s", net_mod_socket_get_key(serverSockt), (char *)recvbuf);
+  // buf 鍜� size鏄繑鍥炲��
+  *sendbuf_ptr = sendbuf;
+  *sendsize_ptr = strlen(sendbuf) + 1;
+  //recvbuf鏄垎閰嶅埌鍫嗛噷鐨勶紝浣跨敤瀹屽悗涓嶈蹇樿閲婃斁鎺�
+  free(recvbuf);
+  return;
+} 
+
 
 void start_reply(int mkey) {
   printf("start reply\n");
-  void *ser = net_mod_socket_open();
-  net_mod_socket_bind(ser, mkey);
-  char sendbuf[512];
+  serverSockt = net_mod_socket_open();
+  net_mod_socket_bind(serverSockt, mkey);
+ 
   int rv;
   while(true) {
-    rv = net_mod_socket_recvandsend_timeout(ser, [&]( void *recvbuf, int recvsize, int key, void ** sendbuf_ptr, int *sendsize_ptr, void * user_data){
-    printf( "server: RECEIVED REQUEST FROM  %d : %s\n", key, (char *)recvbuf);
-    sprintf(sendbuf, "%d RECEIVED %s", net_mod_socket_get_key(ser), (char *)recvbuf);
-    // buf 鍜� size鏄繑鍥炲��
-    *sendbuf_ptr = sendbuf;
-    *sendsize_ptr = strlen(sendbuf) + 1;
-    //recvbuf鏄垎閰嶅埌鍫嗛噷鐨勶紝浣跨敤瀹屽悗涓嶈蹇樿閲婃斁鎺�
-    free(recvbuf);
-    return;
-    }, 0, 2000000, NULL );
+    rv = net_mod_socket_recvandsend_timeout(serverSockt, _recvandsend_callback_ , 0, 2000000, NULL );
   }
   // while ( (rv = net_mod_socket_recvfrom(ser, &recvbuf, &size, &key) ) == 0) {
   //  // printf( "server: RECEIVED REQUEST FROM  %d NAME %s\n", key, recvbuf);

--
Gitblit v1.8.0