use in_addr.s_addr instead of casting the entire struct to a uint32_t