ServerSocket Comment vérifier si un client est connecté ou non au serveur ?
l’adresse ip du client n’ai pas fixe
je suis sur delphi 7 j'utilise les composant ServerSocket et clientsocket
ServerSocket Comment vérifier si un client est connecté ou non au serveur ?
l’adresse ip du client n’ai pas fixe
je suis sur delphi 7 j'utilise les composant ServerSocket et clientsocket
N'est-ce pas la même question qu'avant ?
A par un Chien de Garde, voir TCP KeepAlive
Regarde les composants Indy ou ICS si plus "réactif", si les composants ne te le signalent pas aujourd'hui c'est soit un manque d'implémentation soit un défaut même du TCP sous Windows
Borland les a déclaré obsolète en D6 au profit de TTCPClient et TTCPServer
C'est surement qu'il y a avait une raison !
Pour les avoir massivement utilisé pour des pilotages quasi-temps-réel de robot ou de système de tri automatisé en D5\D6, je n'ai jamais eu de soucis !
Pour la détection de la perte de connexion, je n'ai pas eu non plus de problème à cause d'une fréquence d'envoi de message élevé et souvent dans le cadre d'un réseau TRES local, mes serveurs équipées de deux cartes réseaux, l'une vers le LAN de la machine et une autre pour le LAN de la société, cela permettait d'isoler le réseau, de minimiser bruits et collisions.
Perso, c'est mes SendBuf qui faisait ce boulôt de 'détection' de perte de connexion suite à une erreur d'envoi
Attention TTCPClient et TTCPServer existe en D7, Pro seulement peut-être, à vérifier
Leurs fonctionnement obligatoirement par thread est assez différente
Ne pas confondre avec TidTCPClient et TidTCPServer de Indy, qui idem est inclu à D7
?
TCP KeepAlive ce n'est pas un composant mais plus un concept, c'est une option du TCP
Il existe aussi le HTTP KeepAlive
C'est juste l'envoi d'une trame minimale qui force la vérification de la connexion selon la RFC 1122
Utilise WSAIoctl SIO_KEEPALIVE_VALS
Accessible via TIdSocketHandle.SetSockOpt
TIdSocketHandle lui est accessible via TidTCPServer.Bindings[]...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager