Reputation: 23351
I have an environment with up to 10 workstations and one server all sitting in the same physical location. They will be running some proprietary Python scripts that will need to talk to each other:
So all in all, as far as the actual communication goes, its very nature is more towards the informal on-the-fly kind rather than a fixed client/server relationship.
The data itself will be of a few different sorts, ranked in order of bandwidth demands:
The transmitted data units are all small in size, counted in kilobytes at most.
As this is my first time using Python's networking capabilities, what are the different ways of doing this? I did some research myself but I was taken aback by the plethora of networking/messaging packages in the Python universe, so I thought I'd rather ask the community for some guidance.
Please list pros and cons to each alternative. If I'd rank the 'wish list' it'd be something like this:
Upvotes: 1
Views: 224
Reputation: 1675
I would look into RabbitMQ (www.rabbitmq.com). This would allow you to setup your server as a RabbitMQ messaging server and use the message queue protocol to communicate between your servers and workstations. The biggest advantage here is you don't really have to worry about the networking at all.
Otherwise, I know Twisted is a popular Python library for networking (http://twistedmatrix.com/trac/).
Upvotes: 2