add socket.c socket.h