日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vs如何实现tcp连续发送多条消息_消息队列之 RabbitMQ

發布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs如何实现tcp连续发送多条消息_消息队列之 RabbitMQ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么要使用MQ消息中間件?它解決了什么問題?關于為什么要使用消息中間件?消息中間件是如何做到同步變異步、流量削鋒、應用解耦的?網上已經有很多說明,我這里就不再說明。我在接下來的RabbitMq系列博客里會將官方的講解翻譯過來,同時加以自己的理解整理成博客,希望能和大家共同交流,一起進步。

RabbitMq原理圖

1、RabbitMq簡介

RabbitMq是一個消息中間件:它接收消息、轉發消息。你可以把它理解為一個郵局:當你向郵箱里寄出一封信后,郵遞員們就能最終將信送到收信人手中。類似的,RabbitMq就好比是一個郵箱、郵局和郵遞員。RabbitMq和郵局最大的區別是:RabbitMq接收、轉發的都是二進制數據塊--消息,而不是紙質的數據文件。

RabbitMq、消息相關術語如下:

生產者:生產者只發送消息,發送消息的程序即為生產者:

消息隊列:消息隊列就相當于RabbitMq中的郵箱名稱。盡管消息在你的程序和RabbitMq中流動,但它只能存儲在消息隊列中。隊列本質上是一個大的消息緩存,它能存多少消息,取決于主機的內存和磁盤限制。多個生產者可以往同一個消息隊列中發送消息;多個消費者可以從同一個隊列中獲取數據。我們以下列圖形來表示一個消息隊列:

消費者:消費者是一個等待接收消息的程序:

注意:生產者、消費者和RabbitMq可以在不同的機器上;在很多的應用中,一個生產者同時也可能是消費者。

2、“Hello World!”

在這小節里,我們將寫一個消息生產者用來發送消息、一個消息消費者來消費消息(接收消息并打印出來)。

在下面圖形中,“P”是我們的生產者,“C”是我們的消費者,中間的紅框是我們的消息隊列,保存了從生產者那里接收到的準備轉發到消費方的消息。

Java客戶端類庫說明:

RabbitMq使用多種協議,本指南使用AMQP 0-9-1協議,該協議是一個開源的、通用的消息協議。RabbitMq有多種語言的客戶端,這里我們使用JAVA語言的客戶端做實驗。通過以下地址下載RabbitMq客戶端jar包和依賴包:

amqp-client-5.5.1.jar

slf4j-api-1.7.25.jar

slf4j-simple-1.7.25.jar

把這三個jar包拷貝到你的工作目錄,包括后面教程要新建的java文件。

2.1 發送消息

生產者連接RabbitMq,發送一條簡單的消息”Hello World!“后就退出。

在Send.java類中,需要引入以下依賴包:

1 import com.rabbitmq.client.ConnectionFactory;2 import com.rabbitmq.client.Connection;3 import com.rabbitmq.client.Channel;復制代碼

給隊列起個名字:

1 public class Send {2 private final static String QUEUE_NAME = "hello";3 public static void main(String[] argv) throws Exception {4 ...5 }6 }復制代碼

創建連接到服務器的連接Collection:

1 onnectionFactory factory = new ConnectionFactory();2 factory.setHost("localhost");3 try (Connection connection = factory.newConnection();4 Channel channel = connection.createChannel()) {5 6 }復制代碼

這個連接即套接字連接,為我們處理協議版本協商和身份驗證等。這里我們連接一個本地的RabbitMq:因此是localhost,如果你想要連接一個遠程機器上的RabbitMq,只需要把localhst改成那臺機器的計算機名或是IP地址。

創建完連接之后,我們繼續創建一個信道:Channel。我們需要使用try-with-resource表達式,因為Connection和Channel都實現了JAVA接口Closeable,屬于資源,需要關閉,這樣我們就不需要顯示地在我們的代碼中進行關閉了。(關于信道,請參考文章最頂部的RabbitMq原理圖,是TCP里面的虛擬鏈接,例如:電纜相當于一個TCP,信道就是里面的一個獨立光纖,一條TCP上面創建多條信道是沒有問題的;TCP一旦打開就分創建AMQP信道;無論是發布消息、接收消息、訂閱隊列,這些動作都是通過信道完成的)。

為了發送消息,我們還必須要定義一個需要發送到的消息隊列,這些都要使用try-with-resource表達式:

1 channel.queueDeclare(QUEUE_NAME, false, false, false, null);2 String message = "Hello World!";3 channel.basicPublish( 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的vs如何实现tcp连续发送多条消息_消息队列之 RabbitMQ的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品一区二区三区免费看 | 久久久无码一区二区三区 | 91精品国产综合久久久蜜臀 | 国产精品久久久久久中文字 | 99在线观看| 91成人免费在线视频 | 91久久精品日日躁夜夜躁欧美 | 日本黄色大片视频 | 日本国产精品一区 | 免费在线小视频 | 国产精品福利影院 | 日本视频三区 | 好吊妞视频一区二区三区 | 中文字幕一区二区人妻电影丶 | 午夜视频一区二区三区 | 音影先锋av资源 | 九九热在线精品 | 日本三级影院 | 丝袜制服中文字幕 | 免费在线观看黄色网址 | 第一章豪妇荡乳黄淑珍 | 亚洲欧美自拍另类 | 狠狠躁夜夜躁人 | 日韩黄片一区二区三区 | 中文二区 | 欧美性一区二区 | 国产精品12p | 亚洲久操| 超碰在线人人干 | av在线播放网站 | 人妻va精品va欧美va | 亚洲国产成人精品女人 | 男女做爰真人视频直播 | 亚洲天堂网络 | 国产中文字幕一区 | 成人a级免费视频 | 国产精品久久久久久久久久 | 黄色网址你懂的 | 爱情岛论坛自拍亚洲品质极速最新章 | 99热激情| 午夜久久视频 | 不卡视频在线观看免费 | 伊人影院综合在线 | 男人激情网 | 日韩女同一区二区三区 | 美女网站黄频 | 精品无码av一区二区三区不卡 | 阿v视频免费在线观看 | 亚洲精品6 | 久久99网| av在线免费观看网址 | 成人av网站在线 | 久操福利视频 | 蜜臀一区| 999精品免费视频 | 激情xxxx| 国产精品久久久久久久久久久久久久久久久 | 国产一区精品在线观看 | 色综合亚洲 | 国产成人啪一区二区 | 国产欧美在线视频 | 亚洲最大福利网站 | 女av在线 | 日产av在线 | 成人免费短视频 | 韩国日本在线观看 | 黑色丝袜吻戏亲胸摸腿 | 中国特级黄色大片 | 国产精品视频99 | 日韩理论在线观看 | 双性懵懂美人被强制调教 | 五月天婷婷在线观看 | 正在播放一区二区 | 欧美午夜精品久久久久免费视 | 永久免费精品影视网站 | 99久免费精品视频在线观78 | 亚洲综合国产精品 | 久草热播 | 国产高潮流白浆喷水视频 | 日本91网站 | 清冷男神被c的合不拢腿男男 | 一级做a爱片 | 日韩中文字幕一区二区三区 | 亚洲美女精品视频 | 啪啪免费网站 | 91色国产| 污污污污污污www网站免费 | 日韩美女啪啪 | 手机看片欧美日韩 | 亚洲一区二区三区在线视频观看 | 亚洲色图偷拍视频 | 蜜桃av噜噜一区二区三区网址 | 国产三区视频 | 在线国产一区二区三区 | 午夜婷婷丁香 | 欲乱美女| 99色在线观看 | 激情文学久久 | 黄色aa视频 |