//executioner - narcotique 2006 - server #include #include #include void logerror(int, const char *); using namespace std; int main (int argc, char *argv[]) { if (argc < 2) { printf ("usage: %s listenningport", argv[0]); } else { //initalize winsock WORD version = MAKEWORD(1,1); WSADATA wsaData; WSAStartup(version, &wsaData); SOCKET server; server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); SOCKADDR_IN serverinfo; serverinfo.sin_family = AF_INET; //set port number as argument 1 serverinfo.sin_port = htons(int(argv[1])); //set ip to local address serverinfo.sin_addr.s_addr = INADDR_ANY; bind(server, (LPSOCKADDR)&serverinfo,sizeof(sockaddr)); listen(server, 10); SOCKET connect; connect = accept(server, 0, 0); system("echo test"); closesocket(connect); WSACleanup(); } } void logerror(int error, const char *func, char log[15]) { char errormessage[92]; ZeroMemory(errormessage, 92); FILE * file; file = fopen (log,"a"); if (file!=NULL) { sprintf(errormessage, "Call to %s returned error number %d", error, (char *)func); fputs (errormessage,file); fclose (file); } }