wangzhengquan
2020-12-02 328f10ca7556f6523ca4ff2b095b1c4586147fb2
update
1个文件已添加
2个文件已修改
22 ■■■■ 已修改文件
doc/使用说明.mk 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/socket/net_mod_socket.h 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/socket/net_mod_socket_wrapper.h 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/ʹÓÃ˵Ã÷.mk
New file
@@ -0,0 +1,17 @@
## BHomeBus包含的角色
- NetProxyService(网络代理服务): è´Ÿè´£è·¨æœºå™¨è½¬å‘发布或请求消息
- BusService( æ€»çº¿æœåŠ¡ï¼‰: å‘布订阅的路由,负责记录订阅者的消息并把发布者发布的消息转发给感兴趣的订阅者。
- Pub/Sub Client(发布订阅客户端): å‘BusService发布消息或者在BusService上订阅感兴趣的消息
- Request/Reply Client ï¼ˆè¯·æ±‚应答客户端):向其他机器/进程发送请求消息或者从其他机器/进程接受应答消息
其中BusService和NetProxyService是服务进程,使用者把它起来后就不需要关心了。使用者主要关注的是Pub/Sub Client å’Œ Request/Reply Client
## æŽ¥å£è¯´æ˜Ž
使用时,BusService和NetProxyService这两个服务需要先启动起来。因为后面的功能都依赖这两个服务。
### NetProxyService
### BusService
net_mod_socket_wrapper.h
src/socket/net_mod_socket.h
@@ -119,8 +119,7 @@
   * @send_buf å‘送的消息,@send_size è¯¥æ¶ˆæ¯ä½“的长度
   * @recv_arr è¿”回的应答消息组,@recv_arr_size è¯¥æ•°ç»„长度
   * @return æˆåŠŸå‘é€çš„èŠ‚ç‚¹çš„ä¸ªæ•°
   * ä¼˜ç‚¹ï¼š1某个节点的故障不会阻塞其他节点。2性能好
   * ç¼ºç‚¹ï¼šä¸æ˜¯çº¿ç¨‹å®‰å…¨çš„, å³ä¸èƒ½æœ‰ä¸¤ä¸ªä»¥ä¸Šçš„线程同时使用这个对象的方法
   * ä¼˜ç‚¹ï¼š1某个节点的故障不会阻塞其他节点。2 æ€§èƒ½å¥½ã€‚ 3 é‡‡ç”¨thread local技术即保证了线程安全,又可以使用连接池缓存连接
   */
  int sendandrecv(net_node_t *node_arr, int arrlen, void *send_buf, int send_size, 
    net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) ;
src/socket/net_mod_socket_wrapper.h
@@ -60,7 +60,6 @@
int net_mod_socket_recvfrom_nowait(void *_socket, void **buf, int *size, int *key);
/**
 * å¦‚果建立连接的节点没有接受到消息会一直等待
 * å‘node_arr ä¸­çš„æ‰€æœ‰ç½‘络节点发送请求消息,节点的返回信息汇总并存储在recv_arr中
@@ -69,7 +68,6 @@
 * @recv_arr è¿”回的应答消息组,@recv_arr_size è¯¥æ•°ç»„长度
 * @return æˆåŠŸå‘é€çš„èŠ‚ç‚¹çš„ä¸ªæ•°
 * ä¼˜ç‚¹ï¼š1某个节点的故障不会阻塞其他节点。2性能好
 * ç¼ºç‚¹ï¼šä¸æ˜¯çº¿ç¨‹å®‰å…¨çš„, å³ä¸èƒ½æœ‰ä¸¤ä¸ªä»¥ä¸Šçš„线程同时使用这个对象的方法
 */
int net_mod_socket_sendandrecv(void *_sockt, net_node_t *node_arr, int arrlen, void *send_buf, int send_size, 
  net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) ;