require socket