訊息佇列程式

2021-08-02 12:20:22 字數 1223 閱讀 1080

前面我分享了一篇有關於訊息佇列的部落格, 這裡附上我寫的一段訊息佇列的程式:

\ send.c(傳送端)

#include

#include

#include

#include

#include

#include

struct msgbuf

;int main()

int msgid = msgget(key, ipc_creat); //建立訊息佇列,msgid為訊息佇列的描述字

if (-1 == msgid)

struct msgbuf buffer;

memset(buffer.mtext, 0, 1024);

int type = 1;

char text[1024] = ;

while (1)

memset(text, 0, 1024);

if (0 == strcmp(buffer.mtext, "exit")) //退出

memset(text, 0, 1024);

memset(buffer.mtext, 0, 1024);

}return

0;}

recv.c(接收端)

#include

#include

#include

#include

#include

#include

struct msgbuf

;int main()

int msgid = msgget(key, ipc_creat);

if (-1 == msgid)

struct msgbuf buffer;

memset(buffer.mtext, 0, 1024);

int type = 0;

scanf("%d", &type);

// buffer.mtype = type;

while (1)

if (0 == strcmp(buffer.mtext, "exit")) //退出

printf("recv: mtype = %d mtext = %s\n", buffer.mtype, buffer.mtext);

memset(buffer.mtext, 0, 1024);

}return

0;}

訊息佇列 訊息佇列

輪詢排程 一次性分發所有訊息,保證訊息平均分配,不管消費者是否能正常消費 訊息應答 保證消費端能確實消費,不丟失 公平 乙個乙個分發所有訊息,在保證分發到的執行緒確認回覆後,才分發下個訊息給下個空閒的消費者,訊息持久化 保證佇列中的訊息不丟失,包括3要素 交換器 訊息佇列 訊息都必須宣告持久化 發布...

訊息佇列的小程式

proto.h ifndef proto h define proto h define keypath etc hosts define keyproj a define namesize 32 define msg stu 1 struct msg st endif snder.c includ...

訊息佇列 訊息佇列 kafka

kafka是乙個分布式的基於發布 訂閱模式的訊息佇列,主要用於大資料實時處理領域。要理解kafka首先要有分布式的概念,要有訊息佇列的概念。分布式系統最大的優勢就是解耦和削峰,這種情況下,a系統生成了乙個訊息,b系統非同步獲取,那麼就需要乙個存放訊息的訊息佇列 mq 相比較傳統的訊息佇列,訊息被消費...