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