socket message handling