锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品久久久久久久免费软件,亚洲欧美不卡,欧美日韩18http://m.shnenglu.com/sh19871122/category/20836.htmlzh-cnSun, 16 Mar 2014 16:04:01 GMTSun, 16 Mar 2014 16:04:01 GMT60- zeromq瀛︿範錛岀涓绔?/title>http://m.shnenglu.com/sh19871122/archive/2014/03/16/206194.htmlHallelujahHallelujahSun, 16 Mar 2014 15:41:00 GMThttp://m.shnenglu.com/sh19871122/archive/2014/03/16/206194.htmlhttp://m.shnenglu.com/sh19871122/comments/206194.htmlhttp://m.shnenglu.com/sh19871122/archive/2014/03/16/206194.html#Feedback0http://m.shnenglu.com/sh19871122/comments/commentRss/206194.htmlhttp://m.shnenglu.com/sh19871122/services/trackbacks/206194.html棣栧厛zeromq鐨勮璁℃槸寮變腑闂翠漢鐨勶紙brokerless錛岀浉瀵逛簬ActiveMQ銆丷abbitMQ絳?浣跨敤0zq鐨勭▼搴忓氨鍙互鐩存帴鍜屽叾浠栫殑鑺傜偣閫氫俊鑰屼笉閫氳繃broker鐨勪唬鐞嗐傦級錛寊eromq涓嶄細瀛樺偍淇℃伅鍒扮鐩樹笂錛岀劧鑰屽彲鑳戒嬌鐢ㄦ湰鍦扮殑浜ゆ崲鏂囦歡鏉ュ瓨鍌ㄦ秷鎭紙褰撹緗簡zmq.SWAP鏃訛級銆?br />
紺轟緥錛欻elloWorld錛坰erver錛?br />

server
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <zmq.h>
int main(int argc, char *argv[])
{
void *context = zmq_ctx_new();
void *respond = zmq_socket(context, ZMQ_REQ);
zmq_bind(respond, "tcp://*:4040");
printf("starting
\n");
for (;;)
{
zmq_msg_t request;
zmq_msg_init(&request);
zmq_msg_recv(&request, respond, 0);
printf("received: %s\n", zmq_msg_data(&request));
zmq_msg_close(&request);
sleep(1);
zmq_msg_t reply;
zmq_msg_init_size(&reply, strlen("world"));
memcpy(zmq_msg_data(&reply), "world", 5);
zmq_msg_send(&reply, respond, 0);
zmq_msg_close(&reply);
}
zmq_close(respond);
zmq_ctx_destroy(context);
return 0;
紺轟緥錛欻elloworld錛坈lient錛?br />

client
1
2 #include <stdio.h>
3 #include <unistd.h>
4 #include <string.h>
5 #include <zmq.h>
6
7 int main(int argc, char *argv[])
8 {
9 void *context = zmq_ctx_new();
10 printf("client starting
\n");
11
12 void *request = zmq_socket(context, ZMQ_REQ);
13 zmq_connect(request, "tcp://localhost:4040");
14
15 int count = 0;
16
17 for (;;)
18 {
19 zmq_msg_t req;
20 zmq_msg_init_size(&req, strlen("hello"));
21 memcpy(zmq_msg_data(&req), "hello", 5);
22 printf("send msg hello, count = %d\n", count);
23 zmq_msg_send(&req, request, 0);
24 zmq_msg_close(&req);
25
26 zmq_msg_t reply;
27 zmq_msg_init(&reply);
28 zmq_msg_recv(&reply, request, 0);
29 printf("recv msg %s, count = %d\n", zmq_msg_data(&reply), count);
30 zmq_msg_close(&reply);
31 count++;
32 }
33
34 zmq_close(request);
35 zmq_ctx_destroy(context);
36
37 return 0;
38 }
39
40
榪欓噷浣跨敤浜嗘渶鍩烘湰鐨勮姹傚簲絳旀灦鏋勩傝緇嗚В鏋愪唬鐮侊細
絎竴姝ワ細鍒涘緩浜哻ontext鍜宻ocket錛寊mq_ctx_new鏂規硶鍒涘緩浜嗕竴涓柊鐨?span style="color: red;">context錛岃繖鏄嚎紼嬪畨鍏?/span>鐨勶紝鍗充竴涓猚ontext鍙敤浜庡涓嚎紼嬫搷浣溿?zmq_socket鏂規硶鍒涘緩浜嗕竴涓湪context涓畾涔夌殑socket錛?span style="color: red;">ZeroMQ鐨剆ocket涓嶆槸綰跨▼瀹夊叏銆備紶緇熺殑socket鏄悓姝ョ殑錛岀劧鑰孼MQ鐨剆ocket鍦ㄥ鎴風鍜屾湇鍔$閮界淮鎶や簡涓涓槦鍒楁潵綆$悊request-reply鐨勫紓姝ユā寮忋俍MQ鑷姩鐨勫鐞嗚繛鎺ャ侀噸榪炪佹柇寮榪炴帴鍜屽唴瀹逛氦浠樸?br />鏈嶅姟绔垱寤轟簡Reply錛圸MQ_REP錛夌敤鏉ュ鐞嗘帴鏀舵秷鎭茍搴旂瓟娑堟伅銆傚鏋滃鎴風鍜屾湇鍔$閬楀け錛坙ost錛夛紝搴旂瓟鐨勬秷鎭皢鍦ㄦ病鏈変換浣曢氱煡鐨勬儏鍐典笅涓㈡帀銆?br />瀹㈡埛绔垱寤轟簡涓涓猂equest(ZMQ_REQ)鏉ュ彂閫佹秷鎭茍鎺ユ敹鏉ヨ嚜鏈嶅姟鐨勫簲絳斻俍MQ_REQ涓嬩笉浼氫涪寮冧換浣曚俊鎭紝涓嶇鏄病鏈夋病鏈夊彲鐢ㄤ笌鍙戦佹秷鎭殑鏈嶅姟鎴栨槸鏈嶅姟澶勪簬蹇欑姸鎬侊紝鎵鏈夌殑鍙戦佹搷浣渮mq_send鍑芥暟浼氶樆濉烇紝鐩村埌涓涓湇鍔″彉涓哄彲鐢ㄤ簬鍙戦佹秷鎭俍MQ_REQ鍜孼MQ_REP銆乑MQ_ROUTER綾誨瀷鍏煎銆?br />娑堟伅鐨勫彂閫亃mq_send鍑芥暟鐨勭涓変釜鍙傛暟鏄痜lags錛屾槸ZMQ_DONTWAIT鎴朲MQ_SNDMORE銆俍MQ_DONTWAIT琛ㄦ槑娑堟伅鏄紓姝ョ殑鍙戦併俍MQ_SNDMORE琛ㄦ槑娑堟伅鏈夊閮ㄥ垎錛屽叾浣欑殑閮ㄥ垎宸茬粡“鍦ㄨ礬涓婁簡”銆傛秷鎭帴鏀跺嚱鏁皕mq_msg_recv鍑芥暟錛屽鏈嶅姟绔紝鍦ㄥ厛鍓嶆帴鏀剁殑娑堟伅鏄棤鏁堢殑銆傜涓変釜鍙傛暟flugs鍙兘鏄痁MQ_DONTWAIT銆?br />
鍏堢潯瑙変簡
]]>
久久er国产精品免费观看2|
99久久国产综合精品网成人影院|
欧美亚洲国产精品久久久久|
无码人妻久久一区二区三区蜜桃|
久久无码人妻一区二区三区午夜|
国产伊人久久|
国产精品无码久久综合|
久久久久亚洲AV成人网人人网站|
色88久久久久高潮综合影院|
久久伊人色|
亚洲综合婷婷久久|
日日噜噜夜夜狠狠久久丁香五月|
久久福利片|
久久久精品一区二区三区|
久久伊人精品一区二区三区|
久久精品国产一区二区电影|
国产精品久久影院|
伊人久久精品无码二区麻豆|
久久无码精品一区二区三区|
99久久精品免费|
狠狠色噜噜狠狠狠狠狠色综合久久|
亚洲中文字幕久久精品无码APP|
欧美久久久久久午夜精品|
青青草国产精品久久|
精品久久无码中文字幕|
一本久道久久综合狠狠爱|
无码乱码观看精品久久|
欧美性大战久久久久久|
久久久久国色AV免费观看|
国产激情久久久久影院老熟女|
国产V综合V亚洲欧美久久|
久久er99热精品一区二区|
精品久久8x国产免费观看|
国产国产成人精品久久|
国产精品视频久久|
亚洲国产精品人久久|
精品久久久久国产免费|
亚洲AV伊人久久青青草原|
久久久亚洲AV波多野结衣
|
看全色黄大色大片免费久久久|
久久精品国产一区二区电影|