Résoudre le problème des socket

Signaler
Messages postés
120
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
27 août 2015
-
Messages postés
4
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
15 juillet 2013
-
bonjour a tous


language : delphi 7

problem : je utiliser les socket sur tous mes project delphi et tous mes project ont meme problem si le serveur declanche une erreur alors le serveur plante ( la connexion s'etablie
mais il envoi pas de message au client) j'ai fait :
Onerreur serveur :

ErrorCode := 0; // sa résoudre pas le problem

j'ai essai sa aussi
Onerreur serveur :

ServerSocket1.Close;

delay(2000);

ServerSocket1.Open;
//redemarer le servuer kifkif
abort;

alors vos reponse seron les bienvenu pour résoudre le problem de serveur

5 réponses


Salut

TSocket devrait etre abandonné : Borland déconseille son utilisation du reste (Beaucoup de problèmes). Il existe des composants gratuits (Voir Indy par exemple) beaucoup plus simples, et beaucoup moins sujets aux bugs.

"si le serveur declanche une erreur alors le serveur plante" :Soit plus précis sur l'erreur : l'application plante ? le serveur se déconnecte ? il y a mamie qui a perdu son dentier dans la salade ?

"la connexion s'etablie mais il envoi pas de message au client" : Normal! Cela ne constitue pas un beug. Le serveur envoit ce que tu lui dis d'envoyer au client, quand tu lui dis de l'envoyer. Donc à toi de gérer la chose

Exemple non testé

procedure
TForm1.ServerSocket1ClientError(Sender: TObject; Socket:
TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
if ErrorEvent In [eeReceive,eeConnect,ee,Disconnect,eeAccept,eeHadopi]  then

ServerSocket1.Socket.Connections[0].SendText('Albanel est passée par là');

end;

Quant à ErrorCode := 0; je crois que tu n'as pas compris son utilisation.
Messages postés
120
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
27 août 2015

merci pour ta reponse mon frere Francky23012301
Messages postés
120
Date d'inscription
lundi 26 janvier 2009
Statut
Membre
Dernière intervention
27 août 2015

salut Francky . tu na pas un lien pour un tutoriel Indy s.t.p .

Le web regorge de démo et de tuto sur l'utilisation d'Indy : par exemple le site officiel en contient.

Sinon il y a aussi les composants ICS : A mon avis ils sont plus dur à appréhender et il y a peu d'exemples/tutos.

Ceci-dit : Selon l'avancement de ton projet, utiliser Indy peut etre synonyme d'une sacrée refonte et donc de beaucoup de travail. Dans ce cas là, il serait plus judicieux de continuer ce projet avec TSocket (Mais pour l'avenir, je te conseille de les abandonner). Si tu continues avec TSocket soit plus précis dans ce que tu entend par le serveur plante, dans ce que tu souhaites déclencher comme procédure si une erreur se manifeste, et surtout donne nous un code un peu plus concis pour voir si l'erreur ne serait pas du à autre chose.
Messages postés
4
Date d'inscription
mardi 7 février 2006
Statut
Membre
Dernière intervention
15 juillet 2013

Salut;
        Moi aussi j'ai utilisé et j'utilse Delphi7, ainsi mon dernier projet était un compteur internet pour cyber et j'ai utilisé les sockets (TServerSocket et TClientSocket), et sa marche très très bien.
       L'utilisation des sockets demande un peu de concentration en code source et surtout pour le sans caisse de communication entre serveur et clients.
                                                          Sa doit y marché, et bonne chance.