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