begin process at 2012 05 29 16:19:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Réseau & Internet

 > 

poublem descripteur socket


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

poublem descripteur socket

mardi 12 septembre 2006 à 15:11:58 | poublem descripteur socket

stillfelil

Bonjour je vien de creer un programme Serveur
mais voila j'ai un probleme avec le descripteur SOCKET du client retourné par accept
ca me donne toujour 0 meme si ya connexion de plusieurs client
avec le descripteur su seveur pas de probleme
(jai compris que j'avais un probleme parce que je ne peut pas intercepter les message recus)
voila mon code:

#include <winsock2.h>
 #pragma comment(lib, "ws2_32.lib)
//...
    SOCKET sock;
    SOCKET sockc;
    SOCKADDR_IN ssin;
    SOCKADDR_IN csin;

    const int _http = 80;
   WSADATA WSAData;

    if(WSAStartup(MAKEWORD(2, 0), &WSAData) == SOCKET_ERROR)
    {
        closesocket(sock);
        WSACleanup();
        return;
    }
    ssin.sin_addr.s_addr = htonl(INADDR_ANY);
    ssin.sin_family         = AF_INET;
    ssin.sin_port         = htons(_http);

   
    sock = socket(AF_INET,SOCK_STREAM,0);

   if(    bind(sock, (SOCKADDR *)&ssin, sizeof(ssin))== SOCKET_ERROR)
   {
        closesocket(sock);
        WSACleanup();
        return;
   }

    if( listen(sock, 10)== SOCKET_ERROR)
       {
        closesocket(sock);
        WSACleanup();
        return;
       }
   
    bool running  = true;

    int len = sizeof(csin);
    while(true) // Boucle Infinie pour accepter les connexions entrantes
    {   
     
        if(sockc = accept(sock, (SOCKADDR *)&csin, &len)== SOCKET_ERROR)
        {
            closesocket(sock);
            WSACleanup();
            return;
        }

        if(sockc != INVALID_SOCKET)
        {   
        int nbr_data = 0;
   
    while(nbr_data <=0 )
        {
            nbr_data = recv(sockc,texte,2,0);
            Sleep(500);
        }  
                            //Il ny a aucun message intercepte ,alors que j'envoi commem un message via une
                          //autre socket
        }

Merci de m'aider
mardi 12 septembre 2006 à 21:24:02 | Re : poublem descripteur socket

aardman

Membre Club
Réponse acceptée !
Salut,
Probleme de priorité, il faut mettre des parentheses:
if( (sockc = accept(sock, (SOCKADDR *)&csin, &len)) == SOCKET_ERROR)
Au passage, si accept() échoue il retourne INVALID_SOCKET et pas SOCKET_ERROR.
mercredi 13 septembre 2006 à 09:03:53 | Re : poublem descripteur socket

stillfelil

Merci beaucoup aardman
;-)



Cette discussion est classée dans : socket, sock, descripteur, ssin, sockc


Répondre à ce message

Sujets en rapport avec ce message

Winsock probleme [ par greg13 ] J'ai une erreur de compilation dans le code suivant :#include #include #include #pragma comment(lib, "wsock32.lib")SOCKET Sock;int main(int argc, char winsock probleme 2 [ par greg13 ] J'ai une erreur de compilation dans le code suivant :#include #include #include #pragma comment(lib, "wsock32.lib")SOCKET Sock;int main(int argc, char PROB SOCKETS CON [ par zzzzzz ] le code source marche mais quand je rajoute un cout#include #pragma comment(lib,"ws2_32.lib")#include int main(void) Probleme sockets de mer** [ par zzzzzz ] bé je suis plus quoi faire j'en suis toujours au meme prob y'en a 1 qui me dit d'utiliser strstr() l'autre strcmp() fin bref ca serrais sympas si quel J'arrive pas à recevoir (C++) [ par lukilou ] Salut, j'ai un petit problème pour la réception d'info mais j'arrive bien à envoyer.Je passe la déclaration du socket etc car ca fonctionne.listen(soc Probleme de Client Serveur [ par Krox68 ] voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS LERREUR QUI TUE §§§§§§§§§§§§§§§§ [ par Avalon10101 ] Vla jai fé mon prog tout é juste mais ya une erreur que je narrive vraiment pas à comprendre ! :C:\Documents and Settings\Alex\Mes documents\Makefile. pb socket [ par surfeurnet ] voici mon programme qui a pour l'instant pour unique but de se connecter à un serveur :# include # include # pragma comment (lib,"w32_32.lib")char ip, [SOCKET]Tjrs le pb de recuperation du buffer recv() [ par enthaz ] Allez J me lance : ca fait des heures et des heures ke le newb ke je suischerche la solution :D un coté j ai un logiciel client ki envoie "coucou" sur Socket, quand tu nous tiens ... [ par enthaz ] Allez J me lance : ca fait des heures et des heures ke le newb ke je suischerche la solution :D un coté j ai un logiciel client ki envoie "coucou" sur


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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 : 1,669 sec (3)

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