learn socket options