socket listen
setsockopt SO_REUSEADDR to allow for rebind