new DiscoverService that already have DiscoverDevice integrated
add allocate size calculator method
update class to conform with new handler and object
fix bug when get local address from socket return 0.0.0.0

use local address from interfaces instead