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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 25 626 fois - Téléchargée 39 fois

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

Ajouter un commentaire

Commentaires

Messages postés
41
Date d'inscription
mardi 4 janvier 2005
Statut
Membre
Dernière intervention
29 avril 2006

g++.exe -c main.cpp -o main.o -I"C:/Dev-Cpp/include/c++/3.3.1" -I"C:/Dev-Cpp/include/c++/3.3.1/mingw32" -I"C:/Dev-Cpp/include/c++/3.3.1/backward" -I"C:/Dev-Cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/Dev-Cpp/include"

In file included from C:/Dev-Cpp/include/c++/3.3.1/backward/fstream.h:31,
from main.cpp:1:
C:/Dev-Cpp/include/c++/3.3.1/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
main.cpp:6: error: `main' must return `int'

main.cpp: In function `int main(...)':
main.cpp:31: error: `endl' undeclared (first use this function)
main.cpp:31: error: (Each undeclared identifier is reported only once for each
function it appears in.)

make.exe: *** [main.o] Error 1

Exécution terminée

On peut m'aider ? :p Je cale rien
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
5
Tu ose mettre des pragma avec dev-c++ ?
Messages postés
6
Date d'inscription
samedi 27 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2004

Salut les gars bon alors moi je programme bocoup en Windev je connait assez bien ensuite je code un peu en PHP en VB et en ASM ossi pour ceu ki me croyent pa ben jmen fous lol mais je me susi mit o C ya pa tres longtemp avec Dev c++ et donc avec les base ke j'ai jme debrouille pas mal pour les truc du genre boucle et tout et tout ( G coder un bruteforcer pour un pass ) mais mainteant j'aimerai m'interesser o socket et la ca ne marche pa pourtant g la meme vers de Dev ++ ke vous la 4 et g rajouter la comande ke vous avez marker mais rien a faire mais j'aimerai savoir un truc kan o debut on cree un projet il fo choisiur koi dans la boite de dial console,Window prgm,WinMain [C /C++ ] si vous pouviez me dire les potn a cocher ca serai sympas
merci les gras a++
Messages postés
3
Date d'inscription
samedi 3 juillet 2004
Statut
Membre
Dernière intervention
7 juillet 2004

sa ne marche pas il ya pas derreur mais il ya 0 de "size of output file "
par consequan sa ne marche pas

quelqun peuv t il mexpliker ce qui se passe !!!
Messages postés
3
Date d'inscription
samedi 3 juillet 2004
Statut
Membre
Dernière intervention
7 juillet 2004

sa ne marche pas il ya pas derreur mais il ya 0 de "size of output file "
par consequan sa ne marche pas

quelqun peuv t il mexpliker ce qui se passe !!!
Afficher les 17 commentaires

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.