// 非執行緒安全
zmq_socket
void* zmq_socket(void* context, int type);
該api 會根據
context , type
建立乙個不透明的套接字控制代碼
. 並且是沒有初始化連線的
也沒有和任何埠聯絡在一起,如果是客戶端
,這時就需要用
zmq_connect
去連線到伺服器
如果是伺服器,需要去用
zmq_bind api
去繫結埠.
與傳統套接字不同的是 ,傳統套接字不是流協議
,就是報文協議
而zmq 的套接字提出了 非同步訊息佇列
,並且伴隨著準確的佇列語義
, 前面的實現依賴於
type,也就是不同的使用套接字型別
而zmq傳輸的是無保障的訊息
context : 可以從
zmq_ctx_new() api 獲取
type: 表示的是你需要建立的是何種套接字型別
type:
請求-應答模型
(zmq-req)
該模型是被用作
從乙個客戶端傳送請求到乙個或者是多個伺服器,然後伺服器對每個請求做出請求.
如果沒有伺服器存在,客戶端會組則
, 直到有乙個伺服器變成可用狀態為止
,其伺服器操作是
zmq_recv, zmq_send.
即交替使用
,很適合用於
伺服器.
對於客戶端來說,需要先
send,
再 recv
exqmple:
#include
#include
extern
"c"
#pragma
comment(lib,"libzmq_d.lib")
#define
buffersize 4096
int main(int
argc, char* argv)
;int ret = 0;
char* str = "我是客戶端.....";
while (true)
system("pause");
zmq_close(server);
zmq_ctx_destroy(ctx);
return 0;
}zmq_rep模式
該模型用於
伺服器去接受請求, 並對接受的請求做出相應的套接字模式 , 即先 recv, 再 send
example :
#include
#include
extern
"c"
#pragma
comment(lib,"libzmq_d.lib")
#define
buffersize 4096
int main(int
argc, char* argv)
;int ret = 0;
char* str = "我是客戶端.....";
while (true)
system("pause");
zmq_close(server);
zmq_ctx_destroy(ctx);
return 0;
}
HTTP請求和應答
1 請求方法 get 是請求方法,表示客戶端以唯讀的方式來申請資源。不對伺服器產生任何其他影響。post 客戶端向伺服器提交資料的方法,這種方法會影響伺服器 伺服器可能根據收到的資料動態建立新的資源,也可能更新原有的資源 get http 1.0 以唯讀的方式申請資源 user agent wget...
DMA 請求 應答協議
這裡主要講述4種型別的dma請求 應答協議。在握手模式下,乙個單獨的dma請求訊號對應乙個dma應答訊號。而且在該模式下,一次dma操作意味著在dma操作中的一對或不可分的讀和寫週期。在dma操作中,匯流排控制器不能把 匯流排的使用權分配給其他匯流排控制者。如果想在dma操作中響應高優先順序的匯流排...
HTTP請求 應答規則
http協議引數 http版本 允許使用的三種時間戳格式 內容編碼值 content coding token 大小寫不敏感 在頭部的accept encoding和content encoding中使用,當前在iana註冊的token值為 gzip 編碼格式來自檔案壓縮程式 compress de...