Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    [Delphi] Asynchronous socket error

    Salve.. ormai è l'ennesima richiesta che faccio.. alka prima o poi passerà a chiedere il conto :P

    In un'applicazione client-server che sto sviluppando (sempre la stessa) utilizzo i clientsocket ed i serversocket del componente "Internet" (delphi 6).
    Ho sviluppato tutto il sistema che funziona correttamente.
    C'è però un'eccezione che non riesco a gestire:
    generalmente quando un client si chiude normalmente gli faccio settare il clientsocket.active a false, in modo che il server riceva il trigger intercettato dall'evento 'onclientdisconnect'.
    Capita però che la disconnessione avvenga in modo "non naturale" (ad esempio chiudendo l'applicazione dal taskmanager o spegnendo windows senza chiudere l'applicazione).
    In questo caso il server fa appire un messaggio d'errore "Asynchronous socket error: 10053" che di per sè non crea problemi. Quando però il server deve riscrivere su un qualsiasi socket si incricca.
    In che modo posso intercettare la chiusura inaspettata del client per far sì che il server la gestisca meglio?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Darò una risposta brutta, ma suggerisco di non usare quei componenti che sono piuttosto obsoleti e anche deprecati, ma di adottare la libreria Indy Components (inclusa nelle recenti versioni di Delphi) che consente senz'altro di gestire in modo più efficace i socket con una logica "bloccante" semplificata.

    Prova a dare un'occhiata.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.