I'm looking for a reliable method of sending data from multiple computers to one central computer that will receive all the data, process and analyse it. All computers will be on the same network.
I will be sending text from the machines so ideally it will be a file that I need sending, maybe even an XML file so I can parse it into a database easily.
The main issue I have is I need to do this in near enough real-time. For example if an event happens on pc1, I need to be able to send that event plus any relevant information back to a central pc so it can be used and viewed almost immediately.
The plan is to write a python program that possibly acts as a sort of client that detects the event and sends it off to a server program on the central pc.
Does anyone have suggestions on a reliable way to send data from multiple computers to one central computer/server all on the same network and preferably without going out onto the web.
There are many possible solutions, but my recommendation is to solve this with a database.  I prefer MySQL since it is free and easy to setup.  It is immediate and you can avoid simultaneous update file locking problems because Innodb feature of MySQL automatically handles row locking.  It's actually easier to setup a database than to try to write your own solution using files or other communication mechanisms (unless you already have experience with other techniques).  Multiple computers is also not an issue and security is also built-in.
Just setup your MySQL server and write a client application to update the data from multiple computer to your server.  Then you can write your server application to process the input and that program can reside on your MySQL server or any other computer.
Python is an excellent programming language and provides full support through readily available modules for MySQL.  This solution is also scalable, because you can start with basic command line programs... then create desktop user interface with pyqt and later you could add web interfaces if you desire.
method of sending data from multiple computers too a central location in real-time using python