bonjour,
je suis toujours avec mon serveur en c sous visual c++ sous windows(sis eulement j'avais linux).
Le problème est que je n'ai pas d'erreur de compilation ni de construction, mais impossible de creer la socket, cette derniere est toujours égale à l'erreur.
voici le prog:
#include <winsock2.h>
#include <winsock.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include "serveur.h"
#define port 15300
void main()
{
char car = 'f';
printf("%x", car);
}
void serveur()
{
int socketserveur = 0;
int Appelantlen;int i=0;
struct sockaddr_in localaddr ;
char buf[255];
int nbcar = 0;
localaddr.sin_family = AF_INET; /* Protocole internet */
localaddr.sin_addr.s_addr = htonl(INADDR_ANY); /* Toutes les adresses IP de la station */
localaddr.sin_port = htons(port); /* port d'écoute par défaut au dessus des ports réservés */
socketserveur = socket(AF_INET, SOCK_STREAM, 0);
if(socketserveur == INVALID_SOCKET)
{
perror("socket");exit(3);
}
if (bind(socketserveur,(struct sockaddr*)&localaddr,sizeof(localaddr) ) == SOCKET_ERROR)
{
printf("erreur bind\n");
exit(1);
}
if (listen(socketserveur,10) == SOCKET_ERROR)
{
printf("erreur listen\n");
exit(2);
}
Appelantlen = sizeof(localaddr);
accept(socketserveur,(struct sockaddr*)&localaddr, &Appelantlen);
nbcar = recv(socketserveur, buf, 255,0);
if(buf[0] == '$' && buf[1] == 'A')
{
for(i = 0; i < nbcar; i++)
{
printf("%c", buf[i+2]);
}
}
shutdown(socketserveur,0);
}