begin process at 2012 05 29 21:46:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Probleme reception sur un serveur windows en vc++


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

Probleme reception sur un serveur windows en vc++

mardi 12 février 2002 à 13:31:23 | Probleme reception sur un serveur windows en vc++

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 bien 9 caracteres...

voici les source du client et du serveur

*******************
Le Serveur :
*******************
#include <winsock2.h>
#include <winsock.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>

#define port 15300

void serveur()
{
int socketserveur = 0;
int Appelantlen;int i=0;
struct sockaddr_in localaddr ;
char buf[50];
int nbcar = 0;
int test;
WSADATA wsaData;
WORD wVersionRequested;
wVersionRequested = MAKEWORD( 2, 0 );
WSAStartup( wVersionRequested, &wsaData );

localaddr.sin_family = AF_INET; /* Protocole internet */
localaddr.sin_addr.s_addr = 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);
test = accept(socketserveur,(struct sockaddr*)&localaddr, &Appelantlen);
printf("test = %d",test);
nbcar = recv(socketserveur,buf,50,0);
// perror("recv");
//catch(Exception e) {printf("\n ****** erreur = %s",e);}
printf("\n nbcar = %d\n",nbcar);
printf("buffer = %s\n",&buf);

shutdown(socketserveur,0);

WSACleanup( );

}

void main()
{
char car = 'a';
printf("%x", car);
serveur();
}

*********************
le client :
*********************
#include <winsock2.h>
#include <winsock.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>

#define PORT 15300

void main(int argc, char **argv){

int socketclient = 0;
int i=0;
struct sockaddr_in localaddr ;
char buf[255];
int nbcar = 0;
WSADATA wsaData;
WORD wVersionRequested;
int test,con,out,err;
struct hostent * host;
long int taille;
char * nom_machine;
struct sockaddr_in name;
struct in_addr in;

wVersionRequested = MAKEWORD( 2, 0 );
WSAStartup( wVersionRequested, &wsaData );


socketclient = socket(AF_INET, SOCK_STREAM, 0);
printf("socket = %d \n",socketclient);
gethostname(nom_machine,1000);

printf("nom_machine = %s",&nom_machine);
host = gethostbyname(nom_machine);

memcpy(&in.S_un.S_addr,host->h_addr_list[0],host->h_length);


name.sin_family = AF_INET;
name.sin_port = htons(PORT);
name.sin_addr = in;
taille = sizeof(name);
con = connect(socketclient,(struct sockaddr *)&name,taille);

printf("con = %d",con);

test = send(socketclient,"ca marche",strlen("ca marche"),0);

printf("test = %d",test);
closesocket(socketclient);

}


Cette discussion est classée dans : int, printf, include, socket, localaddr


Répondre à ce message

Sujets en rapport avec ce message

encore mon serveur [ par 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 co Probleme de reception dans un serveur visual C++ pour windows [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi.voici les source du client et du serveurLe Serveur 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 Separer une chaine en sous chaine [ par firemax ] Bonjour Je me posais une question , j'aimerais diviser une chaine en sous chaine pour pouvoir ensuite les trier par longueur de chaine de caractere oh non!! [ par bako25 ] Le prog suivant  calcule le nombre des 'e' dans un paragraphe: #include #include< Passage d'argument pour printf [ par Quazar ] BonjourJe cherche à créer une fonction qui aura le même effet que printf, c'est à dire que je passerais à cette fonction une liste de paramètre du mêm affichage bizarre [ par darkwhite ] Salut a tousJe commence par faire une lotterie simple mais j'ai un probleme au niveau de l'affichage d'un tableau, mon code est le suivant#include #in problème de if et else [ par ffnajia ] bonjour je comprend pas pourquoi le programme ci-dessous ne prend pas en compte l'éxistence de if et else!!!???#include#include using namespace std; Fin de recv [ par Ziman ] Bonjour,je fais actuellement une chtite application. J'aimerai juste qu'un client se connecte sur un serveur et qu'il puisse lui envoyer des messages. Mon programme quitte tout seul [ par darkwhite ] Salut j'ai le code suivant tout con ;#include #include int main(int argc, char *argv[]){  int a,b;  printf("1er nombre:");  scanf("%d",&a);  printf("2


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 0,593 sec (4)

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