Well... this should be compiled on a *nix box (see #include <sys/socket.h> because in windows you use #include <winsock.h>) and I know too little about exploits but I don't see where the shellcode is inserted.