cs_bazbazus
Messages postés120Date d'inscriptionlundi 26 janvier 2009StatutMembreDernière intervention27 août 2015
-
11 mai 2009 à 19:16
boby_la1
Messages postés4Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention15 juillet 2013
-
13 mai 2009 à 14:40
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
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
boby_la1
Messages postés4Date d'inscriptionmardi 7 février 2006StatutMembreDernière intervention15 juillet 2013 13 mai 2009 à 14:40
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.