[rabbitmq-discuss] other transports besides TCP

Jorg Eloy jluzuria2001 at gmail.com
Tue Oct 15 09:25:43 BST 2013


Hi Simon,

Thanks for your reply, let me said that when I sent messages using UDP,
these messages are bounded to the queue in the channel with this line of
code:
    *channel.queueBind(q1, xnameRaw, "#");*

When I'm using Wireshark, I can view these messages arriving to the broker
but they didn't reach to the exchange.

Why I'm using UDP instead of TCP is because I'm tried with AMQP to work
with sensors and servers,
where sensors enqueue messages using UDP due to the typical sensor data is
redundant an some loss can be tolerated
and the servers receive these messages using a channel protocol over TCP,
The servers might use TCP to transport messages reliably.

Thanks again.


PD. Here I put some important lines of the code that I'm using actually to
do this task.

-------------------------------------------------------------------------
*    String xnameRaw = "UDP raw exchage for testing";
    String xtype = "x-udp";

    ConnectionFactory factory = new ConnectionFactory();

    Connection connection = factory.newConnection();
    Channel    channel = connection.createChannel();

    factory.setHost(BROKERMQ);
        factory.setUsername("guest");
        factory.setPassword("guest");
    factory.setPort(PORT);

    Map<String, Object> declArgs = new HashMap<String, Object>();

    declArgs.put("ip", "0.0.0.0");
    declArgs.put("port", (short) PORT);

    channel.exchangeDeclare(xnameRaw, xtype, false, false, false, declArgs);
    String q1 = channel.queueDeclare().getQueue();
    channel.queueBind(q1, xnameRaw, "#");

    DatagramSocket u2 = new DatagramSocket();
    DatagraPacket pOutRaw = new DatagramPacket(message, message.length,
address, PORT);

    u2.send(pOutRaw);
    channel.basicPublish(xnameRaw, routingKey, null, message);*
-------------------------------------------------------------------------



2013/10/11 Simon MacMullen <simon at rabbitmq.com>

> I'm afraid your message doesn't really give us much to go on, other than
> "it doesn't work".
>
> I suggest you try to break the problem down: when you send a UDP packet,
> can you see it reach the broker in wireshark? Can you see it go into a
> queue (bound to the UDP exchange with "#") in the management plugin? And so
> on.
>
> Also, out of interest, why do you want to use UDP instead of TCP?
>
> Cheers, Simon
>
> On 11/10/2013 10:27AM, Jorg Eloy wrote:
>
>> Hi all,
>> I'm looking another transport for AMQP in place of TCP,
>> Nowadays, I'm trying work with UPD exchange of tonyg
>> [https://github.com/tonyg/udp-**exchange<https://github.com/tonyg/udp-exchange>],
>> with the plugin to rabbitmq, to
>> get a similar scenario with publishers, consumers, queues and exchanges,
>> But I can't get it.
>>
>> My actual situation is that:
>> I send messages from the publisher to the exchange and these messages
>> are not published, I can view in the web management tool how the
>> delivery rate in the exchange is altered,
>> I'm using basicPublish to publish the messages and QueueingConsumer to
>> consume the messages, Also DatagramSockets and DatagramPackets to send
>> and receive by UDP.
>> But as I said before, these messages are don't received in the consumer.
>> Including that I use the same routing keys in the messages and when
>> I try sending messages directly to the queue created for the consumer,
>> these messages arrive successfully
>>
>> Can someone know what is the error?
>>
>> Thanks in advance.
>>
>
>
>
> --
> Simon MacMullen
> RabbitMQ, Pivotal
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20131015/98ed5e50/attachment.htm>


More information about the rabbitmq-discuss mailing list