On Thursday 04 August 2011, Juha Heinanen wrote:
i have 8 children specified in default file and in cfg
file i have:
listen=192.98.101.10:5060;
listen=udp:127.0.0.1:5070;
listen=udp:127.0.0.1:5070;
listen=tcp:127.0.0.1:5070;
listen=udp:127.0.0.1:5080;
listen=tcp:127.0.0.1:5080;
listen=tcp:127.0.0.1:6060;
that results in 8 tcp receiver processes but 3 x 8 udp receiver
processes:
[..]
why cannot one udp receiver process handle all listening addresses like
tcp processes seem to be able to do? the above seems like waste of
resources.
Hi Juha,
this is the result of the different server design for UDP and TCP. For TCP
AFAIK one main dispatcher accepts all the connections and then distribute them
to the workers. For UDP the workers listen directly on the (one) network
socket, so there is no dispatcher. It looks like a waste of resources, but its
from a implementation POV much easier.
Best regards,
Henning