Boost C++ ASIO Networking


 
Thread Tools Search this Thread
Top Forums Programming Boost C++ ASIO Networking
# 1  
Old 08-10-2011
Boost C++ ASIO Networking

Hi,

Based on the following example in the Boost C++ website:
www. boost.org/doc/libs/1_47_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp]doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp

I tried to create a similar TCP server that waits to accept a client connection and once connected, listens to incoming data from the client.

In the given example:
Code:
int main(int argc, char* argv[])
{
  try
  {
    if (argc != 2)
    {
      std::cerr << "Usage: async_tcp_echo_server <port>\n";
      return 1;
    }

    boost::asio::io_service io_service;

    using namespace std; // For atoi.
    server s(io_service, atoi(argv[1]));

    io_service.run();
  }
  catch (std::exception& e)
  {
    std::cerr << "Exception: " << e.what() << "\n";
  }

  return 0;
}

However, the io_service.run() seems to run infinitely. How do I signal this run() to stop? Or run at certain time interval so that I can still have other tasks running?

Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. Programming

Using boost in program created by g++

I am trying to use the split provided by boost. I have a string and want to split on "/". string value = "trig/4"; Have no idea how to compile and link it. I have extracted boost in /chrisd/tomso-12.04/source/library/boost_1_52_0 In my program /raytrac.cc I have put ... (5 Replies)
Discussion started by: kristinu
5 Replies

2. Programming

Boost.Test and CMake

Hi, I just started using CMake and the Boost Libraries. In this progress I encountered some problems. One of these problems is combining Boost unit tests with cmake. I don't know how to set the whole project up. I tried to set up a simple test project. This contains a main.cpp a comp.cpp and the... (0 Replies)
Discussion started by: ElCoyote
0 Replies

3. UNIX for Dummies Questions & Answers

How do I declare boost?

Hello all, I am trying to "make" a database system, VDB (Veritas Data Base), and when I run "make" I receive the following error: VDBException.h:19: error: expected `)' before '*' token VDBException.h:20: error: expected `)' before '*' token VDBException.h:43: error: expected `)' before '*'... (4 Replies)
Discussion started by: Tyler_92
4 Replies

4. Solaris

boost thread not accessible to boost::move error

Hi All I am working unders Sun Solaris and I am not "/opt/boost/boost/thread/detail/thread.hpp", line 344: Error: boost::thread::thread(boost::thread&) is not accessible from boost::move(boost::detail::thread_move_t<boost::thread>). Do you know if there are other solutions other than... (2 Replies)
Discussion started by: manustone
2 Replies

5. Solaris

Sun Studio 10 + Boost 1.36

Is it possible to build Boost 1.35 using Sun Studio 10? I can build Boost 1.35 using Sun Studio 11 successful. However, i'm unable to build it using Sun Studio 10 using the exact method. I really apprecaite if any expert can help on this. Thanks, (2 Replies)
Discussion started by: shingpui
2 Replies

6. Linux

How do I boost the Linux performace

Hi All, I installed Linux recently on my PC and finding it difficult to boost its performance. It takes hell lot of time to open Mozilla, text pad , & even the booting process is too slow, many a times I got to manually power off to shutdown the computer. I will be glad if you could help me... (18 Replies)
Discussion started by: jayfriend
18 Replies
Login or Register to Ask a Question
BOOST.BUILD(1)							   User Commands						    BOOST.BUILD(1)

NAME
Boost.Build - software build tool DESCRIPTION
Boost.Build 2011.04-svn Project-specific help: Project has jamfile at Jamroot Usage: bjam [options] [properties] [install|stage] Builds and installs Boost. Targets and Related Options: install Install headers and compiled library files to the ======= configured locations (below). --prefix=<PREFIX> Install architecture independent files here. Default; C:Boost on Win32 Default; /usr/local on Unix. Linux, etc. --exec-prefix=<EPREFIX> Install architecture dependent files here. Default; <PREFIX> --libdir=<DIR> Install library files here. Default; <EPREFIX>/lib --includedir=<HDRDIR> Install header files here. Default; <PREFIX>/include stage Build and install only compiled library files ===== to the stage directory. --stagedir=<STAGEDIR> Install library files here Default; ./stage Other Options: --build-type=<type> Build the specified pre-defined set of variations of the libraries. Note, that which variants get built depends on what each library supports. minimal (default) - Builds a minimal set of variants. On Windows, these are static multithreaded libraries in debug and release modes, using shared runtime. On Linux, these are static and shared multithreaded libraries in release mode. complete - Build all possible variations. --build-dir=DIR Build in this location instead of building within the distribution tree. Recommended! --show-libraries Displays the list of Boost libraries that require build and installation steps, then exit. --layout=<layout> Determines whether to choose library names and header locations such that multiple versions of Boost or multiple compilers can be used on the same system. versioned - Names of boost binaries include the Boost version number, name and version of the compiler and encoded build properties. Boost headers are installed in a subdirectory of <HDRDIR> whose name contains the Boost version number. tagged -- Names of boost binaries include the encoded build properties such as variant and threading, but do not including compiler name and version, or Boost version. This option is useful if you build several variants of Boost, using the same compiler. system - Binaries names do not include the Boost version number or the name and version number of the compiler. Boost headers are installed directly into <HDRDIR>. This option is intended for system integrators who are building distribution packages. The default value is 'versioned' on Windows, and 'system' on Unix. --buildid=ID Adds the specified ID to the name of built libraries. The default is to not add anything. --python-buildid=ID Adds the specified ID to the name of built libraries that depend on Python. The default is to not add anything. This ID is added in addition to --buildid. --help This message. --with-<library> Build and install the specified <library> If this option is used, only libraries specified using this option will be built. --without-<library> Do not build, stage, or install the specified <library>. By default, all libraries are built. Properties: toolset=toolset Indicates the toolset to build with. variant=debug|release Select the build variant link=static|shared Whether to build static or shared libraries threading=single|multi Whether to build single or multithreaded binaries runtime-link=static|shared Whether to link to static or shared C and C++ runtime. Configuration help: Configuration file at /build/other/boost1.49-1.49.0/tools/build/v2/user-config.jam This file is used to configure your Boost.Build installation. You can modify this file in place, or you can place it in a permanent location so that it does not get overwritten should you get a new version of Boost.Build. See: http://www.boost.org/boost-build2/doc/html/bbv2/overview/configuration.html for documentation about possible permanent locations. General command line usage: bjam [options] [properties] [targets] Options, properties and targets can be specified in any order. Important Options: * --clean Remove targets instead of building * -a Rebuild everything * -n Don't execute the commands, only print them * -d+2 Show commands as they are executed * -d0 Supress all informational messages * -q Stop at first error * --debug-configuration Diagnose configuration * --debug-building Report which targets are built with what properties * --debug-generator Diagnose generator search/execution Further Help: The following options can be used to obtain additional documentation. * --help-options Print more obscure command line options. * --help-internal Boost.Build implementation details. * --help-doc-options Implementation details doc formatting. ...found 1 target... Boost.Build 2011.04-svn February 2013 BOOST.BUILD(1)