From f75a37444e7a97fb58439077eea4d1b3c576bfe3 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期一, 20 七月 2020 11:17:33 +0800 Subject: [PATCH] update --- README.md | 151 ++++++++++++++++++++------------------------------ 1 files changed, 61 insertions(+), 90 deletions(-) diff --git a/README.md b/README.md index 4193faf..327d634 100644 --- a/README.md +++ b/README.md @@ -1,121 +1,92 @@ -<<<<<<< HEAD + ## 瀹炰緥 -``` -#include "shm_queue_wrapper.h" -#include "mm.h" - -typedef struct message_t -{ - char method[20]; - int code; - -} message_t; - -void test1() { - unsigned int i = 0; - int key = 2; - // - size_t qsize = 16; - void * queue = shmqueue_init( key, qsize, sizeof(message_t)); - message_t item; - // LockFreeQueue<struct Item> queue(16); - for(i = 0; i < qsize; i++) { - sprintf(item.method, "hello"); - item.code = i ; - if(shmqueue_push(queue, (void *)&item)) { - printf("push:%d %s\n", item.code, item.method ); - } - } - - struct timespec timeout = {1, 0}; - - i = 0; - while((shmqueue_pop_timeout(queue, (void *)&item, &timeout)) ) { - printf("pop:%d %s\n", item.code, item.method ); - // cout << item.pic << endl; - i++; - } - - //閿�姣侀槦鍒� - shmqueue_destroy(queue); -} + ### 璇锋眰搴旂瓟妯″紡 + + `source ./demo/server.c` + -int main () { - test1(); - - //鏁翠釜杩涚▼閫�鍑烘椂闇�瑕佹墽琛岃繖涓柟娉曪紝璇ユ柟娉曢鍏堜細妫�鏌ユ槸鍚﹁繕鏈夊叾浠栬繘绋嬪湪浣跨敤璇ュ叡浜唴瀛橈紝濡傛灉杩樻湁鍏朵粬杩涚▼鍦ㄤ娇鐢ㄥ氨鍙槸detach,濡傛灉娌℃湁鍏朵粬杩涚▼鍦ㄤ娇鐢ㄥ垯閿�姣佹暣鍧楀唴瀛樸�� - mm_destroy(); - return 0; -} -``` + **杩愯server绔細** + + `./req_req server 8` + + **杩愯client绔細** + 鍙互鎵撳紑澶氫釜client + + `./req_rep client 8` + + 鍦╟lient绔緭鍏ヨ姹備俊鎭紝server 绔洖搴旓紝client绔緭鍑哄洖搴斾俊鎭� + + + ### 鍙戝竷璁㈤槄妯″紡 + + **杩愯server绔細** + + `./pub_sub server 8` + + + **杩愯client绔細** + 鍙互鎵撳紑澶氫釜client + + `./pub_sub client 8` + + 鍦╯erver绔緭鍏ュ彂甯冧俊鎭紝client绔緭鍑烘敹鍒扮殑璁㈤槄淇℃伅 ## 鎺ュ彛璇存槑 - ``` - /** - * 鍒濆鍖� - * @ shmqueue - * @ key 鏍囪瘑鍏变韩闃熷垪鐨勫敮涓�key - * @ queue_size 闃熷垪澶у皬 , 杩欎釜鍊煎繀椤绘槸2鐨勬寚鏁板嵆 1, 2, 4, 8, 16 绛� - * @ ele_size 闃熷垪涓厓绱犲ぇ灏�, 杩欎釜鍊间笉鑳借秴杩�512锛屽綋鐒跺鏋滈渶瑕佸彲浠ヨ皟鏁磋繖涓渶澶ч檺鍒� - */ -void* shmqueue_init(int key, int queue_size, int ele_size); -/** - * 閿�姣� + * 鍒涘缓socket + * @return socket鍦板潃 */ -void shmqueue_destroy(void *shmqueue); -/** - * 闃熷垪鍏冪礌鐨勪釜鏁� - */ -uint32_t shmqueue_size(void *shmqueue); -/** - * 鏄惁宸叉弧 - */ -int shmqueue_full(void *shmqueue); +void *mod_open_socket(int mod); /** - * 鏄惁涓虹┖ - */ -int shmqueue_empty(void *shmqueue); + * 鍏抽棴socket +*/ +int mod_close_socket(void * _socket); /** - * 鍏ラ槦, 闃熷垪婊℃椂绛夊緟 - */ -int shmqueue_push(void *shmqueue, void *src_ele); + * 缁戝畾绔彛鍒皊ocket, 濡傛灉涓嶇粦瀹氬垯绯荤粺鑷姩鍒嗛厤涓�涓� + * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜 +*/ +int mod_socket_bind(void * _socket, int port); + /** - * 鍏ラ槦, 闃熷垪婊℃椂绔嬪嵆杩斿洖 + * 鏈嶅姟绔紑鍚繛鎺ョ洃鍚� + * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜 */ -int shmqueue_push_nowait(void *shmqueue, void *src_ele); +int mod_listen(void * _socket); /** - * 鍏ラ槦, 鎸囧畾鏃堕棿鍐呭叆闃熶笉鎴愬姛灏辫繑鍥� + * 瀹㈡埛绔彂璧疯繛鎺ヨ姹� */ -int shmqueue_push_timeout(void *shmqueue, void *src_ele, struct timespec * timeout); +int mod_connect(void * _socket, int port); /** - * 鍑洪槦, 闃熷垪绌烘椂绛夊緟 + * 鍙戦�佷俊鎭� + * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜 */ -int shmqueue_pop(void *shmqueue, void *dest_ele); +int mod_send(void * _socket, const void *buf, const int size); /** - * 鍑洪槦, 闃熷垪绌烘椂绔嬪嵆杩斿洖 - */ -int shmqueue_pop_nowait(void *shmqueue, void *dest_ele); + * 鎺ユ敹淇℃伅 + * @return 0 鎴愬姛锛� 鍏朵粬鍊� 澶辫触鐨勯敊璇爜 +*/ +int mod_recv(void * _socket, void **buf, int *size) ; /** - * 鍑洪槦, 鎸囧畾鏃堕棿鍐呭嚭闃熶笉鎴愬姛灏辫繑鍥� + * 閲婃斁鎺ユ敹淇℃伅鐨刡uf */ -int shmqueue_pop_timeout(void *shmqueue, void *dest_ele, struct timespec * timeout); +void mod_free(void *buf); + +/** + * 鑾峰彇soket绔彛鍙� + */ +int mod_get_socket_port(void * _socket); ``` -======= -## softbus -shm鐨勯�氳搴� ->>>>>>> dd08a8134dea74ac30213c1b8580bff34ee7095b - + -- Gitblit v1.8.0