Bonjour,
je cherche actuellement à créer un serveur tcp/IP sur lequel viennent se connecter des clients. Je l'avais déjà fait en visual c++ et je cherche à faire l'équivalent en BCB 6
Pour le serveur j'ai utilisé le composant TTcpServer dans une application simple avec une form1 et j'ai ajouter un code de test dans l'accept :
coté client j'ai fais de même dans une application avec une form1 avec un TTcpClient, ça marche, j'ai donc validé le fait que le serveur marche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void __fastcall TForm1::TcpServer1Accept(TObject *Sender, TCustomIpClient *ClientSocket) { Application->MessageBox("lkj","lkj",0); }
Maintenant je voudrais faire la même chose avec un client en application console ( j'ai créé un projet C++ appli console VCL).
problème : comment utiliser le TTcpClient sans "le poser" sur la Form1 (puisque c'est une application console, et donc il n'y a pas de form ) ?
j'ai tenté d'inclure le seul .hpp dans lequel se trouvait une déclaration du TTcpClient
mais lorsque j'essaye de créer un objet :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #include <sockets.hpp>
il se produit une erreur à la compilation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void ConnectToELPServer(void) { TTcpClient *a; a = new TTcpClient(); a->RemoteHost="127.0.0.1"; a->RemotePort=2205; AnsiString buffer; buffer="coucou je suis en vie"; a->SendBuf(&buffer,10,0); }
en fait à la création de l'objet, le constructeur attend un type précis.[C++ Erreur] Unit1.cpp(72): E2285 Impossible de trouver une correspondance pour 'TTcpClient::TTcpClient()'
extrait du .hpp :
je dois donc lui donner un TComponent si je comprends bien ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part /* TCustomIpClient.Create */ inline __fastcall virtual TTcpClient(Classes::TComponent* AOwner) : TCustomIpClient(AOwner) { }
mais ... qu'est-ce qu'il en fait et qu'est-ce que je peux bien lui donner ???
Partager