Comments (7)
And the line causing the issue is in the transport.py in the if statement
not (("127.0.0.1", port) in sorted_host_and_ports
This means if 127.0.0.1 is not there in host, put it :-| Why would you do that ?
from stomp.py.
Am sharing information that if there are two actvemq running on the same machine, one which is listening on localhost and another on LAN IP, the current stomp.py library always connects to localhost even if in connection LAN IP is explicitly mentioned
from stomp.py.
The line you quote...
not (("127.0.0.1", port) in sorted_host_and_ports
...only applies if localhost or 127.0.0.1 is included in the list of hosts when creating the connection. i.e. if localhost is in the list of hosts already, then include 127.0.0.1 as well. I can't remember the exact defect that requires that behaviour (this was code likely added a decade ago frankly), but it does not mean that localhost is included by default (it is not). If localhost is included, there is an option (prefer_localhost
) which defaults to True, so it picks localhost over any other connection (for perf reasons primarily). As a consequence, I don't recognise this as a valid issue.
from stomp.py.
If you don't believe me, run two activemq on a single VM one listening to localhost and other listening to LAN IP of the machine
And then try to connect and produce data to the queue using localhost and then once using LAN IP
You would see that in both the cases it would connect to activemq on localhost and data would be pushed in that. I tested this use case
And what I pointed out, I edited that line in transport.py in my folder and then it corrected
from stomp.py.
I've tried running multiple versions of activemq before. As far as I know you can't (at least not without hacking something). I have tried running activemq on localhost and another instance on another machine, and then tested sending messages to both. It works as expected. A message with localhost as the host goes to the local activemq. A message with the other server name as the host goes to the remote activemq.
from stomp.py.
You didn't understand what I said. You don't have to run multiple versions. You use
- One activemq binding to localhost
- One activemq binding to LAN IP of same machine
Now if you try to connect to the activemq that has binding on LAN IP of machine, your client would still connect to the activemq that has binding with localhost
from stomp.py.
Why not use prefer_localhost=False, try_loopback_connect=False
for the constructor then if you want strict control of the connection.
from stomp.py.
Related Issues (20)
- NameError: name 'dt' is not defined when SSL certificate expired HOT 1
- Disable hostname verification while providing the cacerts
- Listener/transport modules too verbose when using heartbeat
- in adapter.ws.py, logging module should be imported from stomp HOT 1
- Release cadence HOT 3
- Get response for send() in stomp.py to retry in case of failure
- SSL PROTOCOL_TLS Deprecated HOT 1
- [Help] How can I use stomp.py to subscribe and set a receiving listener to endpoint properly? HOT 2
- Possible to only process a message received for a certain correlation id (or other property) HOT 1
- An error occurred when running the stompy example HOT 1
- Configure the redelivery for a message
- 8.1.0 tag missing on GitHub HOT 2
- Subscription Wildcards Support? HOT 2
- WSConnection does not handle binary messages HOT 2
- host header - STOMP 1.1 support and CLI argument
- TypeError during WebSocket shutdown HOT 3
- [Possible Bug] stomp.Connection() timeout option not working as expected! HOT 1
- Support context paths? HOT 2
- ssl library not found
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stomp.py.