Lost connetion Socket Server

di il
2 risposte

Lost connetion Socket Server

Ciao a tutti, sto scrivendo un programma costituito da 2 socket (un client ed un server) che si scambiano messaggi tra di loro. Il programma funziona alla perfezione nel momento in cui entrambi i socket hanno una connessione internet attiva.
I problemi sorgono nel momento in cui, ad esempio, il PC dove gira il socket server si scollega da Internet (ad esempio si spegne il router).

Faccio un piccolo esempio per far comprendere meglio il problema:
1) il socket server chiama la funziona receive() e si blocca su essa in attesa di un messaggio dal client
2) il PC dove gira il server si scollega da Internet
3) il socket client chiama la funzione send() con cui invia il messaggio al client

Il programma si blocca in quanto il messaggio non arriva al socket server (poiché non c'è connessione) ed il socket client non può inviare ulteriori messaggi in quanto non riceve alcun messaggio dal socket server di avvenuta ricezione del messaggio.

Una possibile soluzione che mi era venuta in mente era far sapere al socket client che il PC dove gira il server si è scollegato da Internet, il problema è che non saprei come far sapere questa informazione al client. Esiste un modo?

Ovviamente, se ne avete, sono ben accette altre possibili soluzioni, ci sto smanettando da ore ma non ne vengo a capo ahah

Grazie a tutti per l'aiuto

2 Risposte

  • Re: Lost connetion Socket Server

    Hai postato in altra sezione. Come è scritto questo codice?
  • Re: Lost connetion Socket Server

    Scusa, ma in che linguaggio li stai scrivendo questi programmi?

    Comunque sia ci sono miliardi di esempi di socket TCP in qualsiasi linguaggio. Il server non deve avere codice bloccante; per il client, se la risposta non ti arriva entro il time-out allora dai pure per caduta la connessione e ricomincia con un'altra sessione
Devi accedere o registrarti per scrivere nel forum
2 risposte