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
IMPTRACE(1)						    BSD General Commands Manual 					       IMPTRACE(1)

NAME
imptrace -- report importance donation events in real time SYNOPSIS
imptrace [-i [-s]] [-p pid] [-d] DESCRIPTION
The imptrace utility displays a trace of importance donation events. Importance donation is used by adaptive jobs on the system to manage their priority on the system. See xpc_transaction_begin(3) and launchd.plist(5) for more information about the mechanism and its use. The options are as follows: -i Show internal kernel boosts -s Show stacks for internal boosts. -p pid Limit events to the process identified by pid. -d Display raw Dtrace output; do not reformat timestamps and sort output. The traced events are as follows: BOOSTED The specified process has received a boost and transitioned out of the background. UNBOOST The specified process has dropped its last remaining boost and transitioned back into the background. Recv Boost The specified process has received a boost and accepted ownership of that boost in userspace, usually by dequeuing the boost- ing message. Drop Boost The specified process has dropped a boost. ____ Int Boost Internal boost events are only emitted when tracking of kernel internal boosts is activated with the -i option. Their use and meaning is subject to change and dependent on the implementation details of importance donation. EXAMPLES
The imptrace script will output one line for each event, for example a typical boosting exchange might look as follows: 0000:00:00.000000000 EVENT PROCESS BOOSTS NOTES 0023:15:13.844332886 BOOSTED 22:configd 0023:15:13.844372519 Recv Boost 22:configd 1 from 275:SystemUIServer 0023:15:13.844497860 UNBOOST 22:configd Boosted for 0 ms 0023:15:13.844509452 Drop Boost 22:configd 0 In this case, SystemUIServer (PID 275) has sent a message to configd (PID 22) which caused it to be boosted. configd then dropped the boost causing it to be become unboosted and return to background state. Boosted and unboost events may appear before the triggering recv or drop boost. NOTES
imptrace is implemented using Dtrace. For information about the probes used, see comments in the imptrace source. When debugging an adap- tive service, it may be helpful to combine these probes with other Dtrace providers; however, they should be considered unstable. OS X
May 01, 2013 OS X