Re: [Boost-bugs] [Boost C++ Libraries] #13193: multiple sockets (reuse_address) + multiple io_service = packages never received

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #13193: multiple sockets (reuse_address) + multiple io_service = packages never received
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2017-09-05 14:36:31


#13193: multiple sockets (reuse_address) + multiple io_service = packages never
received
---------------------------+-----------------------------------------------
  Reporter: rafal2@… | Owner: chris_kohlhoff
      Type: Bugs | Status: new
 Milestone: To Be | Component: asio
  Determined |
   Version: Boost 1.63.0 | Severity: Problem
Resolution: | Keywords: reuse_address,io_service,multiple
---------------------------+-----------------------------------------------

Comment (by anonymous):

 Formatting fix:

 1) N sockets (same addr/port), using N various io_service - does not work

 2) N sockets (each own port), using N various io_service - works

 3) N sockets (same addr/port), but using same 1 io_service - works

 4) 1 socket - works

 For clarity:

 this program is supposed to receive UDP data (and throw it away,
 performance test) using multiple threads/buffers, and optionally multiple
 sockets and/or io_service.

 When we turn all of this on, many sockets and threads and io_services, if
 they use same addres+port (via reuse addr) then program shows receive
 speed 0 and count 0. (except for spurious receiving 1 packet from time
 to time, not sure what this possible bug is about).

 If we either use different ports so the reuse-port is not needed (by
 adding command line option "mport" at end as in Makefile make run), or if
 we use just 1 io_service, then when we send the data (e.g. from the
 sibling test program linked above) then all works (e.g. 100 MB/sec and
 more).

 p.s. you can enable/disable some debug by toggling the "#if 0" at very top
 of program.

-- 
Ticket URL: <https://svn.boost.org/trac10/boost/ticket/13193#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-09-05 14:42:40 UTC