sockets are context managers