add net.socket:dns api, some bug fix