update setsockopt/getsockopt
 fix typo
refactoring
add example server/client