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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| #include "stdafx.h"
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
//Initialisation de la fonction WSAStartup,
//qui permet d'utiliser le fichier Winsock.DLL par un processus
WSADATA WSAData;
//"MAKEWORD(2,0)" = Indique la version de winsock que j'utilise qui est donc winsock2.
int iResult = WSAStartup(MAKEWORD(2,0), &WSAData);
if (iResult != NO_ERROR) //Si iResult est différent de "NO_ERROR" continuer, sinon Afficher "Error at WSAStartup()"
{printf("Error at WSAStartup()\n");}// Affiche "Error at WSAStartup()" au cas d'une erreur
else
{printf("WSAStartup()is OK\n");
}
/* ... */
//WSACleanup(); //Nettoyage du WSA
///////////////////////////////Création du socket///////////////////////////////
SOCKET socketClient; //Définition du socket. sock est une variable de type SOCKET.
socketClient = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); //SOCK_STREAM = Utilisation du protocole TCP en mode connecté.
if (socketClient == INVALID_SOCKET) {
printf("Error at socket(): %ld\n", WSAGetLastError());}
else
{printf("Socket is OK\n");
WSACleanup();
}
SOCKADDR_IN InfoServeur; //est une structure du SOCKADDR qui contient les informations techniques du socket
InfoServeur.sin_addr.s_addr = inet_addr("172.22.34.8");//Appartient a la struct SOCKADDR_IN et contient l'adresse ip du serveur.
InfoServeur.sin_family = AF_INET; //AF_INET = Type de socket utilisé , pour internet ici, J'utilise l'IPV4.
InfoServeur.sin_port = htons(3040); //htons(3040) Numéro du Port utilisé par le logiciel.
bind(socketClient, (SOCKADDR *)&InfoServeur, sizeof(InfoServeur)); // Cette fonction lie le socket au port et à l'adresse ip du serveur.
//----------------------
// Connect to server.
if ( connect( socketClient, (SOCKADDR*) &InfoServeur, sizeof(InfoServeur) ) == SOCKET_ERROR) {
printf( "Failed to connect.\n" );}
else{
printf ("Connexion Etablie au serveur");
WSACleanup();}
send (socketClient,"halt",255,0);
return 0;
} |
Partager