Devc++ : winsock sous windows, pour débutants.

Contenu du snippet

Ce code est destiné à ceux qui débutent dans la programmation socket.
On y voit comment initialiser un socket, définir les tampons pour envoyer et recevoir des données, définir le port et l'adresse.Et ceci sous Windows.Moi-même débutant avec Winsock, j'ai réussi ce soir à obtenir un code non saturé de bugs, arf enfin ça marche.

Source / Exemple :


#include<fstream.h>
       #include<winsock.h>
       #pragma comment(lib, "ws2_32.lib")

	void main(void)
	{
		WSADATA WSAData;
		WSAStartup(MAKEWORD(2,0), &WSAData);
	
		SOCKET sock;
		SOCKADDR_IN sin;

    char buffer[1024];
    char canal[50] = "GET / HTTP/1.0\nAccept: */*\n\n";
        ofstream log("protsock.log");      // fichier pour enregistrer les données reçues.

		sock = socket(AF_INET, SOCK_STREAM, 0);	
	
		sin.sin_addr.s_addr = inet_addr("205.188.160.121");  // site web www.aol.com
		sin.sin_family = AF_INET;
		sin.sin_port = htons(80);      // port HTTP.

		connect(sock, (SOCKADDR *)&sin, sizeof(sin));   // on se connecte sur le site web.
    send(sock, canal, strlen(canal), 0);         // on envoie la requête HTTP.
	int i = recv(sock, buffer, sizeof(buffer), 0);      // le buffer récupère les données reçues.

        if (i != 0)      // si le buffer reçoit des données.
        {
        log << buffer << endl;     // enregistrement des données dans le fichier.
        }

		 closesocket(sock);      // on ferme le socket.
		WSACleanup();
	}

Conclusion :


Vos commentaires sont les bienvenus.J'ai quelques questions sur le compilateur DevC++ : peut-on créer des programmes en mode graphique ? Et comment crée t-on des application windows ? J'ai récemment découvert l'instruction MessageBox, j'aimerais connaître la multitude d'autres commandes sous DevC++.Merci.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.