PsyClown44
Messages postés4Date d'inscriptionsamedi 30 août 2003StatutMembreDernière intervention 8 avril 2004
-
7 mars 2004 à 17:59
cs_MaXoR
Messages postés38Date d'inscriptiondimanche 25 mai 2003StatutMembreDernière intervention18 décembre 2005
-
9 mars 2004 à 01:10
Salut!
J'ai un prob avec le composant TClientSocket : je n'arrive pas a recevoir de paquets lors d'une connexion!
cs_christo01
Messages postés22Date d'inscriptionlundi 17 mars 2003StatutMembreDernière intervention17 janvier 2006 8 mars 2004 à 11:23
Salut !
Voici des extraits de code à inclure dans ton prog, ainsi que deux Button, que tu dois nommer ButtonConnect et ButtonDisconnect. Tu dois veiller à mettre le même port ('1234' par exemple) dans les deux PCs. Et tu dois mettre l'adresse du PC server ('192.168.0.2' chez moi)
procedure TForm1.ButtonConnectClick(Sender: TObject);
begin
ClientSocket1.Port:=StrToInt('1234');
ClientSocket1.Host:='192.168.0.2';
clientsocket1.Open();
end;
procedure TForm1.ButtonDisconnectClick(Sender: TObject);
begin
clientsocket1.Close;
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
//Evite d'afficher un message d'erreur
ErrorCode := 0 ;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var tmp: string;
begin
tmp:= socket.ReceiveText;
memo1.lines.add(tmp);
end;
PsyClown44
Messages postés4Date d'inscriptionsamedi 30 août 2003StatutMembreDernière intervention 8 avril 2004 8 mars 2004 à 19:19
re!
javé reduit le code de mon dernier post au minimum ;)
En suivant ton modèle, j'obtient ceci :
procedure TForm1.ButtonConnectClick(Sender: TObject);
begin
ClientSocket1.Port:=StrToInt('1234');
ClientSocket1.Host:='127.0.0.1';
Clientsocket1.Open();
end;
procedure TForm1.ButtonDisconnectClick(Sender: TObject);
begin
clientsocket1.Close;
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
//Evite d'afficher un message d'erreur
ErrorCode := 0 ;
end;
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var tmp: string;
begin
tmp:= socket.ReceiveText;
memo1.lines.add(tmp);
end;
Je met le port 1234 en écoute, et la connexion se fait correctement.
Seulement en envoyant des données du server au client, la procedure OnRead de ClientSocket1 ne se déclenche pas :/
Le mémo reste vide