国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
ZeroMQ

ZeroMQ是一個消息隊(duì)列網(wǎng)絡(luò)庫,實(shí)現(xiàn)網(wǎng)絡(luò)常用技術(shù)封裝。在C/S中實(shí)現(xiàn)了三種模式,這段時間用python簡單實(shí)現(xiàn)了一下,感覺python雖然靈活。但是數(shù)據(jù)處理不如C++自由靈活。

 

1.Request-Reply模式:

客戶端在請求后,服務(wù)端必須回響應(yīng)

server:

 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3 import time 4 import zmq 5  6 context = zmq.Context() 7 socket = context.socket(zmq.REP) 8 socket.bind("tcp://*:5555") 9 10 while True:11     message = socket.recv()12     print message13     #time.sleep(1)14     socket.send("server response!")

client:

 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3  4 import zmq 5 import sys 6  7 context = zmq.Context() 8 socket = context.socket(zmq.REQ) 9 socket.connect("tcp://localhost:5555")10 11 while(True):12     data = raw_input("input your data:")13     if data == 'q':14         sys.exit()15 16     socket.send(data)17 18     response = socket.recv();19     print response

 

2.Publish-Subscribe模式:

廣播所有client,沒有隊(duì)列緩存,斷開連接數(shù)據(jù)將永遠(yuǎn)丟失。client可以進(jìn)行數(shù)據(jù)過濾。

server:

 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3  4 import zmq  5 context = zmq.Context()   6 socket = context.socket(zmq.PUB)   7 socket.bind("tcp://127.0.0.1:5000")   8 while True:   9     msg = raw_input('input your data:') 10     socket.send(msg)

client:

 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3  4 import time 5 import zmq   6 context = zmq.Context()   7 socket = context.socket(zmq.SUB)   8 socket.connect("tcp://127.0.0.1:5000")   9 socket.setsockopt(zmq.SUBSCRIBE,'') 10 while True:  11     print  socket.recv() 

 

3.Parallel Pipeline模式:

由三部分組成,push進(jìn)行數(shù)據(jù)推送,work進(jìn)行數(shù)據(jù)緩存,pull進(jìn)行數(shù)據(jù)競爭獲取處理。區(qū)別于Publish-Subscribe存在一個數(shù)據(jù)緩存和處理負(fù)載。

當(dāng)連接被斷開,數(shù)據(jù)不會丟失,重連后數(shù)據(jù)繼續(xù)發(fā)送到對端。


server:

 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3  4 import zmq 5  6 context = zmq.Context() 7  8 socket = context.socket(zmq.PULL) 9 socket.bind('tcp://*:5558')10 11 while True:12     data = socket.recv()13     print data

work:

 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3  4 import zmq 5  6 context = zmq.Context() 7  8 recive = context.socket(zmq.PULL) 9 recive.connect('tcp://127.0.0.1:5557')10 11 sender = context.socket(zmq.PUSH)12 sender.connect('tcp://127.0.0.1:5558')13 14 while True:15     data = recive.recv()16     sender.send(data)

client:

 1 #!/usr/bin/python 2 #-*-coding:utf-8-*- 3  4 import zmq 5 import time 6  7 context = zmq.Context() 8 socket = context.socket(zmq.PUSH) 9 10 socket.bind('tcp://*:5557')11 12 while True:13     data = raw_input('input your data:')14     socket.send(data)

 

消息結(jié)構(gòu):
在每個消息buff前均會自帶一個buff長度

 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
史上最快消息內(nèi)核——ZeroMQ
ZeroMQ an introduction
(3)ZeroMQ 消息內(nèi)核
[架構(gòu)] ZeroMQ 深度探索(一)
開源點(diǎn)評:ZeroMQ簡介
新世紀(jì)通訊函式庫 – ZeroMQ | 程式設(shè)計(jì) 遇上 小提琴
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服