From: gervaz on
Hello, can you suggest me a portable C++ network library? So far I've
been told that there are ACE and boost::asio but I know nothing about
them, have you ever used them? Impressions (in terms of easy-of-use,
documentation, design)?

Thanks, Mattia

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Daniel James on
In article <99fb2058-b882-4af6-a98f-
0e0c8c2fec9e(a)m25g2000yqc.googlegroups.com>, Gervaz wrote:
> Hello, can you suggest me a portable C++ network library? So far I've
> been told that there are ACE and boost::asio but I know nothing about
> them, have you ever used them?

ACE is well-known, well-respected, and mature ... and huge. I haven't
used it, but I have perused the documentation (and read the books), and
can say that I'm reasonably impressed with its thoroughness. It seems
to me to be a solid basis for a heavy-duty server app..

I've been using boost::asio recently. It uses a lot of 'advanced' C++
(read: templates) but is easy to learn and has worked nicely in my
project so far. I haven't yet tried adding multiple threads (and may
not have to, as a single-threaded server can candle connections from
several clients without trouble). The documentation is clear and
thorough, but can occasionally confuse by missing stating something
fundamental (that the authors probably thought was too obvious to
mention).

You might also like to take a look at the network functionality in
poco, but I have no personal experience of it to report.

Cheers,
Daniel.



--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Maciej Sobczak on
On 27 Sty, 17:06, gervaz <ger...(a)gmail.com> wrote:

> Hello, can you suggest me a portable C++ network library?

Better question: what would you like to achieve with it?

A "network library" is a very low-level concept and as such is also
not very useful - it is much better to look for the solution to your
*real* problem.

If you need a library for interactions with web servers, then you do
not need a "network library", but a "HTTP access library".

If you need a library for sending and receiving mails, then you do not
need a "network library", but a "SMTP library".

Similarly, if you need a library for sending complete messages between
peer programs, then again you do not need a "network library", but a
"messaging library" that can expose the message as a top-level
concept.

And so on.

Just in case you need something in the last category above, you might
want to check this:

http://www.msobczak.com/prog/yami/

--
Maciej Sobczak * www.msobczak.com * www.inspirel.com

The C++ Database Access Library: http://soci.sourceforge.net

--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: Brian on
On Jan 27, 7:51 pm, Maciej Sobczak <see.my.homep...(a)gmail.com> wrote:

>
> Similarly, if you need a library for sending complete messages between
> peer programs, then again you do not need a "network library", but a
> "messaging library" that can expose the message as a top-level
> concept.
>
> And so on.
>
> Just in case you need something in the last category above, you might
> want to check this:
>
> http://www.msobczak.com/prog/yami/
>

I have something similar to what Maciej mentioned called
the C++ Middleware Writer. It is an on line code generator
that writes C++ marshalling code based on user input.


Brian Wood
http://webEbenezer.net
(651) 251-9384



--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]

From: gervaz on
On Jan 28, 2:51 am, Maciej Sobczak <see.my.homep...(a)gmail.com> wrote:
> On 27 Sty, 17:06, gervaz <ger...(a)gmail.com> wrote:
>
> > Hello, can you suggest me a portable C++ network library?
>
> Better question: what would you like to achieve with it?
>
> A "network library" is a very low-level concept and as such is also
> not very useful - it is much better to look for the solution to your
> *real* problem.
>
> If you need a library for interactions with web servers, then you do
> not need a "network library", but a "HTTP access library".
>
> If you need a library for sending and receiving mails, then you do not
> need a "network library", but a "SMTP library".
>
> Similarly, if you need a library for sending complete messages between
> peer programs, then again you do not need a "network library", but a
> "messaging library" that can expose the message as a top-level
> concept.
>
> And so on.
>
> Just in case you need something in the last category above, you might
> want to check this:
>
> http://www.msobczak.com/prog/yami/

{ quoted signature and banner removed --
Posters, please do this yourselves. -mod }

Ok, so I'll narrow my question: a portable HTTP access libray. Thanks.
For now I'll give ACE a shot.


--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]