Cross platform communication system using boost.asio
$2-30 USD / hour
En curso
Publicado hace más de 12 años
$2-30 USD / hour
I have a network distributed database I am developing, built in C++ using wxWidgets as the cross platform framework, and boost for threading and next for communication.?
I want to use [login to view URL] for the inter-process communication. The existing code already can pack and unpack its data into a buffer. The communication system will be responsible for transmitting the buffer successfully between processes. It will be capable of communicating with processes on the local machine and on remote machines.
The project is adding a communication service to the existing application. This service would listen for connections on all available network interfaces on the machine and a known local interface (either shared memory or a named pipe/unix socket).
Any connection would read a block of data of a known size, and pass it to the database to decode and process the message. The details of the communication protocol can be designed as needed to accomplish the communication.?
The system should respond to network interruptions gracefully, and should automatically start and stop on network interfaces as they come on and off line.
I will also need a simple client to connect to and test the communication system. This simple client should be able to connect to a specified server, transmit a message, and optionally wait for a response.
I expect this project to take 3-5 days. I will be able to help in understanding and using the current existing code, which is still in development.
If this project goes well, there are a whole lot of other possible projects related to the development of this product. If you are interested, please send me sample code, a resume/cv, your hourly rate, and let me know how soon you are available to start.?
## Deliverables
System is built in C++.
wxWidgets provides the bulk of the cross-platform application framework (eventually it will provide the GUI components)
boost provides threading, communication and other support systems.
Also uses sqlite for disk data management.?
Final product must work identically and seamlessly on Windows, Mac, and Linux, so cross-platform design must be considered at all times.