[Résolut] Connexion client/serveur

Bonjour,

Voici un problème qui ravira les experts en réseau. J’ai deux “GAME”, un client et un serveur. Le problème qui ce pose, je n’est aucun communication entre mon client et mon serveur. Pour ce cas, il s’agit d’un accès via login et mot de passe

De plus, pour testé la réponse du côté client : J’ai rajouter un texte qui affiche l’ip du PC.
Les ports sont 35035 pour serveur en réception et 35036 pour le client en réception.

J’ai du loupé un truc quelque part, mais j’arrive pas à voir ce que c’est.

Evénement client :

Evénement Serveur :

Après des heures et des heures à passé à réécrire chaque ligne , chaque point, je ne vois vraiment pas. :confused: :confused: :confused: :astonished:

En gros, help my!!! :cry: :cry:

Merci pour vos réponses

Vu que ton client reçoit sur le port 35036, est-ce que ton serveur se connecte au client via le port 35036 (indépendant du port d’écoute du serveur) ?

Merci de votre réponse rapide :
Oui : le serveur envois sur 35036 et le client envois sur 35035

Si tu testes en local (sur un même PC ou sur deux PC sur la même box), il faut se connecter à l’adresse locale (celle qui commence par 192.168…) et pas l’adresse publique (qui est celle de ta box sur Internet, donc identique pour les deux PC car ils sont sur la même box).

J’ai testé effectivement en local avec mon adresse privé. J’ai pensé a cela après avoir posté et j’ai testé dans la minute.

J’ai regardé aussi en entrant l’adresse 127.0.0.1, histoire de voir. Mais aucun résultat. Au niveau du débugage, les variables sont bien existante.

J’ai testé sur mon PC fixe puis portable. Pas de résultat :frowning:

je viens de voir qu’il y a quelques problèmes sur ton code. Déjà, il faut initialiser la réception de données uniquement au début de la scène, pas tout le temps. Et sur, tu ajoutes ta propre adresse en destinataire, pas très utile.

En gros si j’ai bien comprit :
Partie client :
Au lancement de la scéne => Initialiser la rèception de données (Port : 35036)
-----------------------------------------------Ajouter 127.0.0.1 en destinataire (Port : 35035)
Pas de condition --------------=> Faire Network::GetPriveAddress à la variable globale AdresseIpClient

Partie serveur :
Au lancement de la scéne => Initialiser la rèception de données (Port : 35035)

Pas de condition --------------=> Recevoir les données
----------------------------------------------Ajouter GlobalVariableString(IpJoueur) en destinataire (Port : 35036)

Je vois que comme ça. Il faut pas oublier que le serveur doit pouvoir contenir plusieur connexion simultanément, donc c’est le client qui envois son IP.

PS: Je mettrais a disposition les sources pour ceux que sa interaisse. Et je sais que sa peux intéraissé du monde :smiley:

J’ai aussi un peu testé les fonctionnalités réseau pour faire en sorte que le serveur n’ait pas à entrer l’IP du client. J’ai donc fait en sorte que le client envoie sur adresse IP, mais :

  • Si l’adresse du serveur commence par 192.168, cela veut dire qu’on se connecte en local, donc le client envoie son adresse locale au serveur
  • Si l’adresse du serveur est 127.0.0.1 (lui-même), le client enverra aussi 127.0.0.1
  • Sinon, cela veut dire que l’on se connecte par internet, donc le client envoie son adresse IP Internet

Voila une bonne nouvelle. J’ai enfin réussi a faire communiqué les deux truc sur le même PC. il me reste a testé sur deux PC différent en local puis test sur internet.

Le problème venait de mes variable : Ne pas confondre varable texte et variable avec valeur. :smiley:

J’ai juste quelque problème avec le système de Log (système ou au bout de 29 ligne, les informations sont inscrite dans un fichier classé par jour mois années.)

J’ai hâte de vous faire partager ce système.

Je vous informe après teste que le système client serveur est fini :
Client-ServeurV0.1.rar (55.6 KB)

Vous trouverais d’une part, le client avec un système de login et mot de passe. Deux choix s’offre au joueur, le choix de valider ou de créer un nouveau personnage.

La deuxième partie est le serveur. Il va inscrire les informations dans un fichier log que vous pouvez consulter à tous moment. les tentative de connexion d’un joueur est noté aussi dans ce même fichier. La partie création de joueur crée un fichier via le login du joueur et inscris les information dedans (IP & MDP).

BUG connu :
-le système de log du côté serveur inscris des information en boucle (J’y travaille)

A venir :
Pour les deux :
-Ajouter système de PING entre les clients et le serveur : Pourrais permettre de voir si le serveur est Up ou down => 50% de fait
-Ajouter un systeme de cryptage de mot de passe : Évitera “un peu” les pirates informatiques => 0%

Partie Serveur :
Ajouter l’interface “Joueur connecter” : Permettrai de voir qui est connecter et de sélectionné directement le joueur => 0%
-Ajouter un nouvelle interface indépendante du serveur : Permettrai de d’avoir les information du client => 0%
-Ajouter des ligne de commande classique (ban ; Kick et autre) => 0%

Partie Client :
-Ajouter des message d’erreur : Permettrai de savoir si votre mot de passe est pas bon => 20% de fait

Voila, vous avez des suggestions ou des idées, n’hésitez pas à proposer. Pour les bug aussi, n’hésitez pas à me les remonter.
Merci et bon develloppement