Boost logo

Boost Users :

Subject: [Boost-users] Using Boost.Asio for network programming.
From: eugene ngontang (eugeneval2002_at_[hidden])
Date: 2011-05-12 05:29:15


Hi! I'll first appologize if I don't perfect english expression, cause I'm a french guy. In fact i start using Boost since one week. I discover that the library has excellent features. I've a project wich is to create a SIP-like Voici Over IP(VOIP) protocol. The protocol must be a client/server protocol but voice transport must be client to client. Client to client communication must use UDP and client to server comunication must use TCP. The protocol is a binary protocol and not a text one. For the client side I'm asked to use QTNetwork and for the server i have to use Boost.Asio. I look for Boost tutorial and test several things. I'ave already develop the client side and clients can communicate each other via QT sockets. I also tested boost client and server and it works. But now i want to really set up my whole application. However when i try to establish a connxion between my client and my server, the connexion succeed, but neither client nor server can receive data from each other. For the test i put the client in a linux environnment (Fedora std) and the server is running on Windows where i use Visual studio to develop. I don't know if the problem comes from the difference between server and client OS. Then I'll will try to put both client and server in the same OS. But my application has to be portable and to run on linux and windows. Then my questions please, are the following: - How can I better do in order to make my client developped with QT, to communicate with my server developped with Boost.Asio? Do you guy ever encounter this issue? It's my first time to use Boost, and I don't know if there could be an incompatibility. - To transmit data, I set up a serializor/deserialazor, wich build a pakect (an object class) containing a header and a type of data(voice, video or text) to be sent over the network, and at the oder side we use the deserializor to acceess data in the packet. My send and receive functions should not know what is inside the packet, that should be a black box for them, and they have just to send and receive packets. The serializor/deserializor does the rest for the application. Client to client converxsation is done directely (DCC) but for the conference mode, the server should manage communication between clients in he conference(in a rom). Then please, i would like to know the best way in my server side where i'm using boost, to handle conference and multiple clients conferences. Which boost::tco socket fucntions are better to use regarding the situation? - Can you please give some advises to best way to realise my project using QT(client side) and Boost(server side) together? I'll would be really pleased if I had a example of tutorial about developping a boost TCP server which can manage multi clients connexion without care on which network library they are using. Thank a lot for your attention and your help.



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net