begin process at 2012 02 12 17:16:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

encore mon serveur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

encore mon serveur

dimanche 3 février 2002 à 15:23:24 | encore mon serveur

skysee

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);

}
dimanche 3 février 2002 à 21:15:57 | Re : encore mon serveur

jpeg

Au contraire de Linux, tu dois faire qques initialisations pour pouvoir utiliser les sockets sous Windows.
Voici ce que je fais d'habitude

//Initialisation de la Dll WinSock
WSADATA wsaData;
WORD wVersionRequested;
wVersionRequested = MAKEWORD( 2, 2 );
WSAStartup( wVersionRequested, &wsaData );

Et à la fin du prog, pour que tout soit propre, il faut faire :

//Liberation Dll WinSock
WSACleanup( );

Voilà ! j'espère que ça pourra t'aider...

-------------------------------
Réponse au message :
-------------------------------

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);

}


Cette discussion est classée dans : serveur, include, socket, localaddr, socketserveur


Répondre à ce message

Sujets en rapport avec ce message

Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois Serveur Vc++6 pb dans recv [ par alfred ] Salut a tousJ'ai un probleme dans mon serveur et je ne sais pas comment le resoudre. Le client se connecte bien et envoie le bon nombre de caracteres socket [ par flatou ] salutvoila le code du serveur sous dos que j'ai fait :#include #include #include #pragma comment(lib, "ws2_32.lib")SOCKET s;SOCKET c;SOCKET result;soc Client/Serveur, encore..... [ par glubust ] Je veux faire fonctionner une application client/serveur sous UNIX (client) et WINDOWS (serveur).Le programme client envoi une simple requête au serve Erreur de segmentation d'un simple client http sous linux !! [ par nassimatique ] #include #include #include #include #include #include #include #define TAILLE 4096 <b programmation socket serveur client c/c++ [ par beni91 ] Bonsoir, je dois coder un serveur en c sous Windows avec comme compilateur borland mais j'ai des erreur que je n'arrive pas a résoudre. J'ai fait des comment Recupérer Variables d'une fonction ? [ par baptchr55 ] Bonjour à tous. Voilà, j'ai un problème, je cherche à récupèrer mes valeurs x,y,z dans le main... je ne sais pas comment faire... Quelqu'un peut-il m socket en C sous Qt [ par taifone ] je developpe une application client/serveur en C.Le client est une interface graphique en Qt et le serveur est un programme serveur.c sous linux j'ai delay client sur server socket linux [ par 0x0syscall ] Bonjour,Voilà, je voudrais savoir comment je dois m'y prendre pour que sur mon serveur si le client ne repond pas au bout de X secondes, le serveur co socket raw [ par moi zork ] Bonjour,Je suis entrain de m'entrainer sur les socket raw et je bute sur :#include #include using namespace std;int main (void){    int sock;  sock =


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,529 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales