Problème de socket
winalbest
-
maily Messages postés 7560 Statut Contributeur -
maily Messages postés 7560 Statut Contributeur -
J'ai un problème avec le code ci dessous puisque nb vaut 0 et apparement rien n'est envoyé mais je ne vois aps pourquoi...pouvez vous m'aidez ?
Merci
Merci
#include <stdio.h>
#include <stdarg.h>
#include <winsock2.h>
#include <string.h>
#include <errno.h>
int main(int argc,char ** argv)
{
WSADATA WSAData;
if(!WSAStartup(MAKEWORD(2,0), &WSAData))
{
printf("[*] Winsock a ete initialise avec succes.\n");
}
else
{
printf("Erreur lors de l'initialisation de Winsock, code d'erreur : %d\n", GetLastError());
system("PAUSE");
return(-1);
}
int lasocket = 0;
if(!(lasocket=socket(AF_INET,SOCK_RAW,IPPROTO_RAW)))return -1; /*ouvre la raw socket*/
struct sockaddr_in sin; /* notre structure sockaddr_in qui contiendra l'adresse de destination */
/* on rempli notre structure sockaddr_in */
sin.sin_family = AF_INET;
sin.sin_port=1500;
sin.sin_addr.s_addr = inet_addr("127.0.0.1"); // Adresse de destination
/* hop, nous envoyons notre paquet à destination */
int nb;
char tab[5]="bonj";
if(nb=sendto(lasocket, tab, sizeof(tab), 0, (struct sockaddr *)&sin, sizeof(struct sockaddr_in)) == SOCKET_ERROR)
{
fprintf(stderr, "Erreur lors de l'appel de la fonction sendto. Code erreur : %d\n", WSAGetLastError());
WSACleanup();
}
printf("%d",nb);
system("PAUSE");
return 0;
}