23 Dec
2008
23 Dec
'08
7:02 a.m.
If you are running this on a recent version of Linux then the epoll(2) syscall that is applied by the io_service object should be able to handle that many sockets. It is only down to what amount of open file descriptors you are allowed on a per process level that could hamper the aim of 20,000 sockets. I would rather have been using a single socket, since SIP is UDP based to circumvent the issue. If you could increase your receiving buffer in the OS for that socket then there should be no issue and you can go up to the equivalent of 30,000 - 40,000 connections. (sockopt(2)). This is just what I would have done.