Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Eccezzioni disconnessione Client-Server

    Ciao a tutti sto realizzando un'applicazione multi client-server
    Più client si collegano al server ognuno attraverso il proprio socket
    il server appena riceve la connessione stipa ogni socket in un Array di socket.
    Successivamente ogni client, al suo turno dialoga col server.

    Problema:
    Vorrei gestire una disconnessione di uno qualsiasi dei client notificandola a tutti.

    Riesco banalmente intercettando l'eccezione di Connection reset quando accade qualcosa di imprevisto al server e quando accade qualcosa al client che dovrebbe interagire.

    Per poter controllare sempre che tutti i client siano connessi avevo pensato di lanciare in un thread apposito in un ciclo ogni 5-secondi qualche metodo che mi consentisse di sapere se il socket è ancora funzionante....Ma non ho trovato nulla che facesse il caso mio.

    Suggerimenti??? Altre modi per gestire tale situazione???

  2. #2

    Re: Eccezzioni disconnessione Client-Server

    Originariamente inviato da mefelofo90
    Ciao a tutti sto realizzando un'applicazione multi client-server
    Più client si collegano al server ognuno attraverso il proprio socket
    il server appena riceve la connessione stipa ogni socket in un Array di socket.
    Successivamente ogni client, al suo turno dialoga col server.
    Se si tratta di un Server Multi-Thread, allora non ha molto senso servire un client alla volta.
    I vari client devono poter lavorare contemporaneamente, salvo in casi particolari di sincronizzazione.

    Originariamente inviato da mefelofo90
    Problema:
    Vorrei gestire una disconnessione di uno qualsiasi dei client notificandola a tutti.
    Secondo me la soluzione proposta va bene.
    In alternativa:
    Nel momento in cui servi l'i-esimo client scopri se questo è ancora connesso. In caso negativo, rimuovi il client dalla memoria e avvisi il resto dei client.

  3. #3
    quel server non è multi Tread in quanto è l'ultimo di una catena di server e poi deve gestire i client secondo dei turni sequenziali, l'unia cosa e che se un client si disconnette indipendentemente se è o meno il suo turno lo dovrei notificare subito atutti gli altri...

    Per quanto riguarda la soluzione che avevo proposto
    Il problema è che non conosco e ne tantomeno sono riuscito a trovare un metodo che mi consenta di sapere se dall'altra parte del socket c'è ancora qualcuno collegato.

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.