a I/O libary for socket