From f8c7aec85fdbf6b98fbb6ff50d98733b79c26dad Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期四, 26 十一月 2020 10:29:04 +0800 Subject: [PATCH] udpate --- src/socket/net_mod_socket.h | 29 +++++++++++++---------------- 1 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/socket/net_mod_socket.h b/src/socket/net_mod_socket.h index c133302..0988f1b 100644 --- a/src/socket/net_mod_socket.h +++ b/src/socket/net_mod_socket.h @@ -3,7 +3,9 @@ #include "usg_common.h" #include "shm_mod_socket.h" #include "socket_io.h" +#include <poll.h> +#define OPEN_MAX 1024 #define GET(p) (*(uint32_t *)(p)) #define PUT(p, val) (*(uint32_t *)(p) = (val)) @@ -20,20 +22,24 @@ int key; }; -#define NET_MODE_REQUEST_HEAD_LENGTH 16 +#define NET_MODE_REQUEST_HEAD_LENGTH (NI_MAXHOST + 5 * sizeof(uint32_t)) struct net_mod_request_head_t { uint32_t mod; + char host[NI_MAXHOST]; + uint32_t port; uint32_t key; uint32_t content_length; uint32_t topic_length; }; -#define NET_MODE_RESPONSE_HEAD_LENGTH 8 +#define NET_MODE_RESPONSE_HEAD_LENGTH (NI_MAXHOST + 4 * sizeof(uint32_t)) struct net_mod_response_head_t { // socket_mod_t mod; - // int key; + char host[NI_MAXHOST]; + uint32_t port; + uint32_t key; uint32_t code; uint32_t content_length; }; @@ -41,7 +47,7 @@ struct net_mod_recv_msg_t { - char host[128]; + char host[NI_MAXHOST]; int port; int key; void *content; @@ -51,22 +57,13 @@ class NetModSocket { struct pool{ /* Represents a pool of connected descriptors */ //line:conc:echoservers:beginpool - int maxfd; /* Largest descriptor in read_set */ - fd_set read_set; /* Set of all active descriptors */ - fd_set ready_read_set; /* Subset of descriptors ready for reading */ - - fd_set write_set; - fd_set ready_write_set; - - fd_set except_set; - fd_set ready_except_set; int nready; /* Number of ready descriptors from select */ int maxi; /* Highwater index into client array */ - int connfd[FD_SETSIZE]; /* Set of active descriptors */ + struct pollfd conns[OPEN_MAX]; // net_node_t *nodes[FD_SETSIZE]; // rio_t clientrio[FD_SETSIZE]; /* Set of active read buffers */ - std::map<int, net_node_t*> connfdNodeMap; + // std::map<int, net_node_t*> connfdNodeMap; std::map<std::string, int> connectionMap; } ; @@ -88,7 +85,7 @@ int connect( net_node_t*); void close_connect(int connfd); int read_response(int clientfd, net_mod_recv_msg_t *recv_msg); - int write_request(int clientfd, int key, void *send_buf, int send_size); + int write_request(int clientfd, net_mod_request_head_t &request_head, void *send_buf, int send_size); public: -- Gitblit v1.8.0