Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1285 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Compatibilité des Sockets avec les différentes versions de Windows

n°856445
cricri_
Posté le 23-09-2004 à 14:51:06  profilanswer
 

Reprise du message précédent :
non, comme te l'a dit Doc, tu ne testes pas le retour du Listen(), donc vérifie et teste tous les retours de fonctions sans exceptions.

mood
Publicité
Posté le 23-09-2004 à 14:51:06  profilanswer
 

n°856457
EagleOne33
Posté le 23-09-2004 à 14:59:12  profilanswer
 

ok ... je viens de tester listen et le serveur ne semble pas avoir de problème .... je continue avecl es autres fonctions

n°856460
EagleOne33
Posté le 23-09-2004 à 15:00:37  profilanswer
 

bein euuu ... en même tps y'en a pas d'autre sur lesquelles je puisse tester un retour.. Tous les retours sont testés regardes :  
 

Code :
  1. /*************************************************************
  2. LE SERVEUR
  3. **************************************************************/
  4. #include <stdio.h>
  5. #include <iostream>
  6. #include <fstream>
  7. #include <string>
  8. /* includes de windows */
  9. #ifdef WIN32
  10.          #include <winsock.h>
  11.   typedef int socklen_t;
  12.          //typedef unsigned int u_int32_t;    /* utilisé par linux mais non défini dans winsock.h */
  13.   #pragma comment(lib, "ws2_32.lib" )
  14. /* les includes de linux */
  15. #else
  16.          #include <unistd.h>
  17.          #include <sys/socket.h>
  18.          #include <netinet/in.h>
  19.          #include <netdb.h>
  20.          #include <sys/types.h>
  21.          #define SOCKET_ERROR (-1)
  22.   #define INVALID_SOCKET (-1) /* défini dans winsock.h */
  23.          typedef struct sockaddr_in SOCKADDR_IN; /* idem */
  24. #endif
  25. using namespace std;
  26. #define LG_MAX_REQUETE 1024
  27. string creationReponse();
  28. void traitement(int);
  29. void main()
  30. {
  31. int val,port=0,erreur;
  32. #ifdef WIN32
  33. WSADATA wsa;
  34. /* initialisation */
  35. WSAStartup(MAKEWORD(2,0), &wsa);
  36. #endif
  37. int serveur;
  38. int client;
  39. struct sockaddr_in sin;
  40. struct sockaddr_in clientsin;
  41. // saisir la configuration du serveur
  42. /*
  43. printf("Entrez le numero de port: " );
  44. scanf("%d",&port);  
  45. */
  46. // port par defaut pour tests rapides
  47. port = 1123;
  48. /* creation de la socket serveur */
  49. serveur=socket(AF_INET,SOCK_STREAM,0);
  50. if(serveur==INVALID_SOCKET)
  51. {
  52.  perror("erreur de creation de la socket" );
  53.  exit(-1);
  54. }
  55. /* configuration de la socket */
  56. sin.sin_addr.s_addr = INADDR_ANY;
  57. sin.sin_family = AF_INET;
  58. sin.sin_port = htons(port);
  59. /* attacher le socket au n° de port*/
  60. erreur=bind(serveur,(sockaddr *)&sin, sizeof(sin));
  61. if(erreur == INVALID_SOCKET)
  62. {
  63.  perror("bind" );
  64.  exit(-1);
  65. }
  66. /* creation d'une file d'attente de demande de connexion */
  67. //listen(serveur,5);
  68. //}
  69.     if (listen(serveur, 5)==SOCKET_ERROR)
  70.     {
  71.         perror("ERREUR LISTEN" );
  72.         exit(-1) ;
  73. }
  74.    
  75. val=sizeof(clientsin);
  76. cout << "\n*****Serveur INSEE (simulation) en attente\n\n\n";
  77. while(1)
  78. {
  79.  /* accepter une connexion */
  80.  client=accept(serveur,(sockaddr *)&clientsin,NULL);
  81.  if(client == INVALID_SOCKET)
  82.  {
  83.   perror("erreur de connection" );
  84.   exit(-1);
  85.  }
  86.  /* fonction qui utilise la socket */
  87.  traitement(client);
  88. }
  89. }

n°856461
EagleOne33
Posté le 23-09-2004 à 15:00:48  profilanswer
 

Je ne vois pas :'(

n°856485
cricri_
Posté le 23-09-2004 à 15:35:50  profilanswer
 

initialise tes structures à zero, on ne sait jamais ...

n°856490
EagleOne33
Posté le 23-09-2004 à 15:40:07  profilanswer
 

quelles structures ?

n°856496
cricri_
Posté le 23-09-2004 à 15:43:45  profilanswer
 

ben les sockaddr_in, pi aussi bien dans le serveur que dans le client.

n°856497
EagleOne33
Posté le 23-09-2004 à 15:44:01  profilanswer
 

ok j'essaye

n°856506
EagleOne33
Posté le 23-09-2004 à 15:51:01  profilanswer
 

ca change rien

n°856513
cricri_
Posté le 23-09-2004 à 15:58:01  profilanswer
 

Au fait le pb c'est sur un seul PC ou tous ceux qui sont en 98 ?

mood
Publicité
Posté le 23-09-2004 à 15:58:01  profilanswer
 

n°856518
EagleOne33
Posté le 23-09-2004 à 16:01:15  profilanswer
 

tous sauf le mien...

n°856544
EagleOne33
Posté le 23-09-2004 à 16:26:33  profilanswer
 

y'a que le mien sur lequel ca marche en fait....

n°856550
docmaboul
Posté le 23-09-2004 à 16:30:27  profilanswer
 

EagleOne33 a écrit :

y'a que le mien sur lequel ca marche en fait....


 
bon, pour ces histoires de messages qui arrivent à la fermeture, je mettrais un poil de cul à couper que vous ne faites pas de select avant les lectures/écritures sur les sockets. Je me trompe?

n°857007
EagleOne33
Posté le 24-09-2004 à 09:44:10  profilanswer
 

eu non tu te trompes pas...

n°857113
EagleOne33
Posté le 24-09-2004 à 11:52:46  profilanswer
 

problème résolu
 
merci de votre aide à tous

n°857192
cricri_
Posté le 24-09-2004 à 13:38:29  profilanswer
 

Et c'était quoi le pb ?

n°857225
docmaboul
Posté le 24-09-2004 à 13:55:43  profilanswer
 

cricri_ a écrit :

Et c'était quoi le pb ?


 
qu'il ne savait pas se servir des sockets [:ddr555]

n°857300
cricri_
Posté le 24-09-2004 à 18:29:11  profilanswer
 

Arff ... j'avoue avoir oublié aussi car ça ne m'a pas sauté aux yeux ;)

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
services windows via phpVisual Studio 2003 et appli IIS sur Windows 2003 Server
Effet 3d : faire une vaguelette sur le bureau windows en DirectX ?Copier des raccourcis sur le bureau suivant les versions de Windows
Glade et STL sous WindowsApplication Web ou Windows ? Le pour le contre ?
Compatibilité mscomct2Oracle 8i: Driver ODBC 16 bits pour Windows 2000
Windows peut il controler un prog executé en assembleur? 
Plus de sujets relatifs à : Compatibilité des Sockets avec les différentes versions de Windows


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR