Hey Ernie,
You did read what I put in my previous response about the JavaScript bindings using a *WebSocket* transport didn't you?


send.js and recv.js won't talk *directly* to the C++ broker, however I've included a simple WebSocket->TCP Socket proxy.

If you stand up proxy.js that should proxy WS port 5673 to TCP port 5672 (you can change the defaults using command line parameters do node proxy.js -h to see)

Something like

./proxy.js
Proxying ws -> tcp
Forwarding port 5673 to 0.0.0.0:5672


./recv.js amqp://localhost:5673/eaq

./send.js -a amqp://localhost:5673/eaq


JavaScript is a bit funny like that :-) I mentioned on my TODO list that I want to look at native TCP sockets for node, but the main reason for doing JavaScript is really to get AMQP working in a browser and for that WebSockets are pretty much the only reasonable transport - though Chrome packaged apps allow TCP connections.

The Java Broker has a WebSocket transport so I can talk directly to that, though that has its own quirks at the moment.


Almost certainly the fact that it's a WebSocket transport is the cause of what you are seeing.

Frase


On 27/08/14 20:34, Ernest Allen wrote:
I'm getting a connection error when using the javascript bindings example 
recv.js to receive a message through a qpid c++ broker.

I have a qpid c++ broker running on a remote host with a queue named "eaq". I'm 
attempting to start up the javascript example recv.js using the remote address/queue, but 
I'm getting a connection error:

[eallen@redhat javascript]$ node recv.js amqp://my.remote.host.com/eaq
that._checkErrors = true
error = 3,111,ECONNREFUSED: Connection refused
{ [MessengerError: ECONNREFUSED: Connection refused]
   name: 'MessengerError',
   message: 'ECONNREFUSED: Connection refused' }

I've tried variations on the address string (without the amqp://, with the ip 
address, with a ~) but to no avail.

Notes:
- The proton c examples recv and send work just fine with my broker running on 
the remote host and queue. I also tried the python and ruby bindings and they 
worked.

- Also, the javascript bindings programs recv.js and send.js work fine together 
when going through amqp://0.0.0.0

- When I start recv.js (using the default amqp://0.0.0.0), and send a message using either the c 
"send" example or one of the other language bindings "send" example programs, I 
get an error:
[eallen@redhat py]$ ./send.py "Hello"
[0xb1d650]:ERROR[-2] SASL header mismatch: ''

CONNECTION ERROR connection aborted (remote)

- I'm also getting the same connection refused error when running the 
qpid-config.js example against a broker.

Could this be a problem with my build or environment? Or is this a bug?

Thanks,
-Ernie






Reply via email to