Bonsoir,
cela fait plusieurs tentatives que je fais pour me connecter en tant que simple client sur une machine et en retirer la page d'acceuil avant d'aller plus loin; j'ai un programme très simple en C, qui initialise winsock, puis ouvre le socket, puis essaye d'ouvrir une session TCP/IP, mais à chaque fois, sur différents serveurs, ce programme ou d'autres plante(nt) à la connexion parce que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
WSAStartup  : OK
 
socket      : OK
 
Desole, je n'ai pas pu ouvrir la session TCP : -1 10061
10061
Aucune connexion n'a pu Ûtre Útablie car l'ordinateur cible l'a expressÚment refusÚe.
Mon programme très simple est le suivant jusqu'à l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
55
56
 
#include <winsock2.h>
#include <stdio.h>
#pragma comment(lib, "ws2_32.lib")
void main()
{
SOCKET id_de_la_socket; // Identifiant de la socket
SOCKADDR_IN information_sur_la_destination; // Déclaration de la structure des informations lié au serveur
LPVOID lpMsgBuf; // ça vient de client_smtp, et il faut ws2_32.lib
WSADATA initialisation_win32; // Variable permettant de récupérer la structure d'information sur l'initialisation
int nombre_de_caractere; // Indique le nombre de caractères qui a été reçu ou envoyé
char buffer[65535]; // Tampon contenant les données reçues ou envoyées
int erreur; // Variable permettant de récupérer la valeur de retour des fonctions utilisées
 
// ********************************************************
// Initialisation de Winsock
// ********************************************************
erreur=WSAStartup(MAKEWORD(2,2),&initialisation_win32);
if (erreur!=0)
      printf("\nDesole, je ne peux pas initialiser Winsock du a l'erreur : %d %d",erreur,WSAGetLastError());
else
      printf("\nWSAStartup  : OK\n");
 
// ********************************************************
// Ouverture d'une Socket
// ********************************************************
id_de_la_socket=socket(AF_INET,SOCK_STREAM,0);
if (id_de_la_socket==INVALID_SOCKET)
      printf("\nDesole, je ne peux pas creer la socket du a l'erreur : %d",WSAGetLastError());
else
      printf("\nsocket      : OK\n");
 
// ********************************************************
// Ouverture de la session TCP sur destination de l'adresse IP 10.10.10.10 et du port 80
// ********************************************************
information_sur_la_destination.sin_family=AF_INET; // w=193.252.122.103 ou 193.252.149.20; G=209.85.135.103; freewareweb=208.100.13.10 
information_sur_la_destination.sin_addr.s_addr=inet_addr("208.100.13.10"); // Indiquez l'adresse IP de votre serveur
information_sur_la_destination.sin_port=htons(80); // Port écouté du serveur (33333)
erreur=connect(id_de_la_socket,(struct sockaddr*)&information_sur_la_destination,sizeof(information_sur_la_destination));
if (erreur!=0)
      printf("\nDesole, je n'ai pas pu ouvrir la session TCP : %d %d\n",erreur,WSAGetLastError());
else
      printf("\nsetsockopt  : OK");
 
// ajout DVA:
		// OID lpMsgBuf; // ça vient de client_smtp, et il faut ws2_32.lib
		FormatMessage( 
  	    FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
	    NULL,
	    WSAGetLastError(),
	    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
		(LPTSTR) &lpMsgBuf,
		0,
		NULL 
		);
		printf("%s\n", lpMsgBuf);
Quelqu'un y voit-il quelque chose d'anormal ?
merci,
David