使用rabbitMQ

①声明:

Dim g_cf As New ConnectionFactory

Dim g_con As IConnection = Nothing

Dim g_ch As IModel = Nothing

Dim is_consuming As Boolean = False

 

②初始化:

g_cf.UserName = Server_Interface.strUserName

   g_cf.Password = Server_Interface.strPassword

   g_cf.VirtualHost = Server_Interface.strVirtualHost

   g_cf.Protocol = Protocols.FromEnvironment()

   g_cf.HostName = Server_Interface.strHostName

   g_cf.Port = Server_Interface.iPort

   Try

      g_con = g_cf.CreateConnection()

      g_ch = g_con.CreateModel()

      g_ch.QueueDeclare(Server_Interface.strQueueName, True, False, False, Nothing)

   Catch ex As Exception

      Console.WriteLine("Error in Crate Channel:" & ex.ToString())

   End Try

g_con.AutoClose = True

 

③使用:

Dim consumer As New QueueingBasicConsumer(Me.g_ch)

Dim tag As String = Me.g_ch.BasicConsume(Server_Interface.strQueueName,                      False, consumer)

   While (Me.is_consuming)

        Try

          If g_ch.IsOpen Then

              Dim ret_obj = consumer.Queue.DequeueNoWait(Nothing)

              If ret_obj Is Nothing Then

                  Continue While

             End If

Dim e As RabbitMQ.Client.Events.BasicDeliverEventArgs =DirectCast(ret_obj,RabbitMQ.Client.Events.BasicDeliverEventArgs)

            Dim props As IBasicProperties = e.BasicProperties

         Dim msg As String = System.Text.UTF8Encoding.ASCII.GetString(e.Body)

          Me.g_ch.BasicAck(e.DeliveryTag, False) '消息确认

    Catch ex As Exception

            MsgBox(ex.Message, MsgBoxStyle.Critical, "载入错误")

            Return

 End Try

End While

④结束:

     

Me.is_consuming = False

g_ch.Dispose()

g_con.Dispose()


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值