socket.py