|
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