multicastSocket should be volatile as well...