Explain socket