wangzhengquan
2020-10-14 213c00f5146d9e25b0fd7ab09860185dc4eaabbf
update
2个文件已修改
95 ■■■■■ 已修改文件
README.md 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
test_net_socket/net_mod_socket.sh 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
README.md
@@ -102,7 +102,32 @@
SEND HEART:9
```
# 1.3 网络测试
在三个节点上node1 node2 node3 分别执行下面的程序
```
# 打开请求应答的server
./dgram_mod_req_rep server 11 &
# 开启bus
./dgram_mod_bus server 8 &
# 开启网络server
./net_mod_socket server 5000 &
# 订阅bus
./dgram_mod_bus client 8
```
在其中一个节点执行网络客户端程序,向其他三个节点发送消息
```
./net_mod_socket client 5000
```
# 2. 接口说明
@@ -202,4 +227,67 @@
void dgram_mod_free(void *buf) ;
```
net_mod_server_socket_wrapper.h
```
/**
 * 创建
 */
void *net_mod_server_socket_open(int port) ;
/**
 * 关闭
 */
void net_mod_server_socket_close(void *_sockt) ;
/**
 * 启动
 */
void net_mod_server_socket_start(void *_sockt);
```
net_mod_socket_wrapper.h
```
/**
 * 创建
 */
void * net_mod_socket_open();
/**
 * 关闭
 */
void net_mod_socket_close(void *_sockt);
/**
 * 向node_arr 中的所有网络节点发送请求消息,节点的返回信息汇总并存储在recv_arr中
 * @node_arr 网络节点组, @node_arr_len该数组长度
 * @send_buf 发送的消息,@send_size 该消息体的长度
 * @recv_arr 返回的应答消息组,@recv_arr_size 该数组长度
 * @return 成功发送的节点的个数
 */
int net_mod_socket_sendandrecv(void *_sockt, net_node_t *node_arr, int node_arr_len, void *send_buf, int send_size,
    net_mod_recv_msg_t ** recv_arr, int *recv_arr_size);
/**
 * 销毁sendandrecv方法返回的消息组
 * @arr 消息组
 * @size 消息组的长度
 */
void  net_mod_socket_free_recv_msg_arr(net_mod_recv_msg_t * arr, int size);
 /**
 * 向node_arr 中的所有网络节点发布消息
 * @node_arr 网络节点组, @node_arr_len该数组长度
 * @topic 主题,@topic_size 该主题的长度
 * @content 内容,@content_size 内容长度
 * @return 成功发布的节点的个数
 */
int net_mod_socket_pub(void *_sockt, net_node_t *node_arr, int node_arr_len, char *topic, int topic_size, void *content, int content_size);
```
 
test_net_socket/net_mod_socket.sh
@@ -1,12 +1,15 @@
function server() {
    ipcrm -a
# 打开三个请求应答的server
    ./dgram_mod_req_rep server 11 &
    ./dgram_mod_req_rep server 12 &
    ./dgram_mod_req_rep server 13 &
    
# 开启bus
    ./dgram_mod_bus server 8 &
# 开启网络server
    ./net_mod_socket server 5000 &
}