Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #1

    [C] Socket Multi-Client/Server

    Buongiorno a tutti!
    Ho un problema nella realizzazione di una chat client/server.
    Il problema è che non riesco a gestire due client, ovvero il server risponde solo a uno e non a piu di un client connessi.

    Il codice del server è piu meno cosi:
    codice:
    creo socket serverfd
    bind();
    listen(serverfd, );
    
    pthread_t invio;
    pthread_t ricevo;
    
    while(true){
    clientfd=accept(serverfd,  );
    
    new_client=malloc(1); // credo che non servano, basta poi cambiare 
    *new_client=clientfd;  // l'argomento del thread con clientfd
    
    pthread_create(&invio, NULL, funz_invio, (void*) new_client);
    pthread_create(&ricevo, NULL, funz_ricevo, (void*) new_client);
    
    }//fine while
    
    return 0;
    } //fine main
    
    
    void *funz_invio(void *socket){
    int sock= *(int*) socket;
    while(){... send(sock, )..}
    }
    
    void *funz_ricevo(void *socket){
    int sock= *(int*) socket;
    while(){... recv(sock, ) ..}
    }
    
    }
    lo stesso nella parte client ho due thread uno per ricever e uno per inviare praticamente speculari.

    cosa succede:
    il client si connette (e scrive e riceve con il server) //tutto ok!
    il client2 si connette (e scrive al server.. ) // tutto ok!

    il problema è che se il server scrive... riceve solo il client1 e non il client2
    come è possibile? dove sbaglio?

    grazie a tutti quelli che mi daranno una mano!+
    Ultima modifica di skipper87; 13-03-2014 a 11:59

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.