Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1503 connectés 

 


Dernière réponse
Sujet : Delphi / DirectPlay ! Aidez moi j'ai plus beaucoup de temps !
gropoli C'est bon, ça marche ! Merci pour toutes tes infos Kris !

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
gropoli C'est bon, ça marche ! Merci pour toutes tes infos Kris !
Kristoph Ok, mes souvenirs d'utilisation des sockets sont :
 
Pour le serveur, il faut configurer 2 choses avant d'ouvrir le socket :
- Le port sur lequel le serveur écoute.
- Les machines autorisées à se connecter sur le serveur
 
Pour le client il faut configurer 2 choses aussi :
- Le port
- L'addresse du serveur.
gropoli bon en effet j'avais oublié de te montrer cette partie de mon code :
procedure TForm1.FormCreate(Sender: TObject);
begin
ClientSocket1.Port := SpinEditPort.Value ;
ClientSocket1.Host := EditHost.Text ;
ClientSocket1.Address := EditAddress.Text ;
end;
 
la propriété ClientSocket1.Port du composant ClientSocket1 correspond donc à la valeur donnée par l'utilisateur et donc contenue dans SpinEditPort. Tu penses que c'est pas une bonne idée de laisser choisir le port au client (de toute facon je crois que sans ca je ne pourrais rien faire puisqu'il doivent utiliser le meme port alors il faut bien que je les laisse choisir). Je vais qd meme essayer avec un port supérieur à 1024 on verra bien. à tout à l'heure  :)
Kristoph Et bien, tu utiises peut-etre le port 21, mais ca ne se voit pas du tout dans le code que tu as montré. Par contre, évite d'utiliser ce port ( et même évite d'utiliser les ports < 1024 ) parceque ils sont plus ou moins réservés. Par exemple, ne va pas t'étoner de voir un ftp se connecter à ton serveur.
gropoli il me semble que je peux utiliser n'importe quel port du moment que le server et le client utilise le meme pour se connecter, non ?! donc j'utilise, au pif, 21
Kristoph Je ne m'y connais pas assez en Delphi pour t'aider de ce cote, mais à quel port tu te bind dans le serveur ???
gropoli Y a plus personne qui veux m'aider ? Kris t'es ou ?
gropoli donc la il ne s'agit bien sur que des procedures d'ouvertures des sockets
gropoli et pour le serveur ca donne donc ca :
 
procedure TForm1.ButtonSeConnecterClick(Sender: TObject);
begin
ServerSocket1.Open;
end;
gropoli alors sur le client ca donne ca :
 
procedure TForm1.ButtonSeConnecterClick(Sender: TObject);
begin
ClientSocket1.Address := EditAdresse.Text ;
ClientSocket1.Open ;
end;
 
enfin j'ai juste utilisé la fonction ClientSocket1.Open ;, rien de plus et puis bien sur il y a différentes procédures qui s'occupe d'envoyer et de recevoir du texte et de gérer les valeur données par l'utilisateur dans les objets de type Edit (host, port, address)
Kristoph Heu :)
 
Ca va pas etre facile de trouver le probleme avec seulement ca commes remarques. Il faut nous en dire un peu plus, par exemple, tu pourrais nous montrer le code qui ouvre les sockets, tant sur le client que sur le serveur.
gropoli et puis au fait ca sert à koi 'address' dans les propriétés de ClientSocket1 ?
gropoli euh bah absolument rien, mais je viens juste de m'en rendre compte, pardon
alors je me réexplique : j'ai une apli server et une apli client, ca marche tres bien quand je reste sur le meme ordi (j'ouvre les 2 appli sur le meme et je rentre la meme IP pour 'address' et pour 'host', et la ca roule mais qd je lance le server sur l'un et le client sur l'autre eh bah il ne se passe rien du tout !!! et ca soule quoi ! aide moi ! cété clair cette fois ou je la refais (je peux hein ca ne me derangerais pas ... hehe)
Kristoph Ca veux dire quoi ca : ca ne passe justement pas bien par mon réseau local ...
gropoli ok merci beaucoup et, dit, tu crois pouvoir m'aider pour un petit problème avec mon apli serveur/client Delphi ? ca ne passe justement pas bien par mon réseau local ...
Kristoph Bah oui, il n'y a pas de problem pour utiliser directement des simples sockets meme si le reste du programme utilise DirectX. Je crois meme me souvenir que dans certains jeux, ils ont retiré le support DirectPlay pour passer à de bons vieux sockets parceque ca ne passait pas bien les firewall, mais c'est vieux deja :)
gropoli c bien ce k'il me semblait, merci mais c'est trop tard ils ont deja commencé le moteur D2 avec les composants DirectX. Tu sais si je pourrais intégrer le réseau dans le jeu si j'utilise les composants ClientSocket et ServerSocket de Delphi ????!!! Parceque la c'est facile : il est presque au point !

gropoli a écrit a écrit :

le pbm c'est ke je réalise un jeu avec des potes et ils utilisent les composants de DirectX (Directdraw, ...) et pas ceux de DelphiX. Et je crois que ca ne sera pas tres compatible si on mélange DirectX et DelphiX. Qu'en penses tu ?!  




 
DelphiX c'est une bibliothèque de composants qui encapsulent DirectX. Mélanger les 2 c caca, mais DelphiX est beaucoup plus simple tout en étant limité

gropoli le pbm c'est ke je réalise un jeu avec des potes et ils utilisent les composants de DirectX (Directdraw, ...) et pas ceux de DelphiX. Et je crois que ca ne sera pas tres compatible si on mélange DirectX et DelphiX. Qu'en penses tu ?!
Si tu utilise DelphiX dans les demos ya un chat tout fait deja alors... :sarcastic:
gropoli Je cherche simplement à faire un petit programme de chat avec le composant DirectPlay de DirectX sous Delphi ! Ca devrait pas être la mort, mais je ne sais pas du tout comment m'y prendre. Si vous pouvez au moins m'expliquer comment créer un objet DirectPlay ca serait cool !!!! Merci.

Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR