반응형
1. C# 자신의 프로젝트 오른쪽 클릭
2. Nuget 패키지 관리 클릭
3. 찾아보기 탭에서 RabbitMQ 검색
4. RabbitMQ.Client 설치 후 RabbitMQ 기본 소스 적용
C# 윈폼을 사용하여 코드를 작성하였으며,
RabbitMQ 사용하여(토픽)을 사용하여 메시지 생성(Produce) 및 소비(Consumer)를 구현하도록 하겠습니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
namespace Vpp_THSensor.MessageBorker
{
class Receive
{
public String MqReceive()
{
String message;
String Topic_name;
//delegate void Consumers(IModel Model, BasicDeliverEventArgs EA );
ConnectionFactory factory = new ConnectionFactory()
{
HostName = "localhost",
Port = port,
UserName = "guest",
Password = "guest"
};
IConnection connection = factory.CreateConnection();
IModel channel = connection.CreateModel();
channel.ExchangeDeclare(type: "topic",
durable: false,
exchange: "test",
autoDelete: false,
arguments: null
);
Topic_name = channel.QueueDeclare().QueueName;
channel.QueueBind(queue: channel.QueueDeclare().QueueName,
routingKey: "#",
exchange: "test"
);
EventingBasicConsumer consumer = new EventingBasicConsumer(channel);
//consumer.Received += (model)
consumer.Received += (model, ea) =>
{
byte[] body = ea.Body.ToArray();
message = Encoding.UTF8.GetString(body);
String routingKey = ea.RoutingKey;
//Sensor.EtcVar.Messa = message;
};
channel.BasicConsume(queue: Topic_name,
autoAck: true,
consumer: consumer);
return message
}
[C#] - C# RabbitMQ 연동 기본 소스[Produce]
반응형
'C#' 카테고리의 다른 글
C# 모드버스 TCP/IP 통신 테스트 소스 파일 첨부 (7) | 2021.01.27 |
---|---|
C# TCP/IP Client 테스트 소스 (2) | 2021.01.27 |
C# RabbitMQ 연동 기본 소스[Produce] (0) | 2021.01.06 |
C# 모드버스 RTU 시리얼통신 구현 소스 파일 첨부 (8) | 2020.12.22 |
C# 모드버스 RTU 시리얼통신 구현 폼 (주석 추가, 소스 공개) (4) | 2020.12.09 |