Un nom de domaine ? no-ip peut t'intéresser.
Un nom de domaine ? no-ip peut t'intéresser.
L'itération est humaine; la récursion, divine.
gethostname() et getpeername(). Ces deux fonctions permettent au server de se procurer des informations sur ses clients. Une adresse IP peut-être ? Mais on en ferrait quoi après ? Peut-être l'envoyer au client pour changer l'IP qu'il contient ? Ce serait compliqué je pense.
Sinon comment attribuer un nom de domaine à mon server ? Il est sur mon ordi ! Et le no-IP ca sert à quoi concretement ? En quoi ca pourrait m'être util ?
=> Swoög : je n'arrive pas à utiliser les fichiers .a...Je pige pas comment utiliser le contenu en faite. C'est pas une sorte de DLL ? Les DLL aussi génèrent des .a.
Merci.
Seulement getpeername.gethostname() et getpeername(). Ces deux fonctions permettent au server de se procurer des informations sur ses clients.
C'est pour créer un nom de domaine qui pointe sur ton ip justement.Et le no-IP ca sert à quoi concretement ? En quoi ca pourrait m'être util ?
Si ton ip est dynamique, ton pc envoit la nouvelle ip à no-ip.com
L'itération est humaine; la récursion, divine.
les DLL sont dynamiques... les .a sont statiques, c'est à dire qu'il sont inclus à la compilation dans l'exécutable, tu n'en a pas besoin à l'exécution (contrairement aux DLL dont tu as besoin à l'exécution)
comme je t'ai indiqué dans le mail, il faut les linker, (comme tu le fait normalement pour libwinsock.a, ou un nom approchant, tu as besoin d'un point .a pour utiliser les winsock normalement) ensuite, il te suffit d'inclure le/les .h
sinon ajoute le .h et le .cpp à ton projet, ils seront intégrés lors de la compilation (normalement)...
pour les fonctions, je t'ai parlé de gethostbyname pas gethostname, ces deux fonctions ne font pas du tout la même chose, la première te permet de récupérer l'IP à partir d'un nom de domaine (entre autre), la seconde te donne le nom de domaine d'un serveur (plus précisément : du PC qui exécute la fonction, ou du PC dont l'ip est passée en paramètre, il me semble)...
pour le nom de domaine, tu ne l'attribut pas au serveur lui même mais au PC qui herberge le serveur, ensuite, si tu changes le PC, il te suffit de changer l'IP associé au nom de domaine, DynDNS et no-ip te permettent de faire ça.
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag (en bas)
Ok.
Seulement voila : je voudrais réaliser un petit chat, qui sera donc composé d'une partie server et d'une partie client. Mais ca pourra être n'importe qui qui utilisera le server, pas seulement moi ! Alors je ne vais pas aller demander aux utilisateurs du server d'aller s'inscrir à uun site de no-IP. N'y a-t'il vraiment aucun autre moyen ?
Exemple de chat :ftp://ftp-developpez.com/c/sources/b...ts/appchat.zip
dans ce cas, tu peux également demander à ce que l'utilisateur du client rentre lui même l'IP du serveur qu'il veut contacter...
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag (en bas)
encore une fois, c'est pas évident... esque c'est le cas pour le chat du zip ? j'ai pas réussi à tester (bugg lors de la compilation).
J'ai jeté un coup d'oeil aux codes et je n'ai vu aucune trace d'adresse IP. Je ne comprends pas tout le code, mais peux-tu regarder et me dire ce que tu en pense ?
Merci.
Ce code est propre à C++ Builder...
il n'utilise pas les composant de l'API WinSock...
pour faire simple, tu peux voir ici :qu'une IP n'est jamais qu'une chaîne de caractère...
Code : Sélectionner tout - Visualiser dans une fenêtre à part sin.sin_addr.s_addr = inet_addr("192.168.1.15"); //L'adresse IP de l'ordi du server ?!
donc tu devrais pouvoir demander l'adresse à l'utilisateur... exemple :
Bon, évidement, ici, il n'y a aucune vérification quant à la validité de l'IP, on peut rentrer n'importe quoi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 std::string IP; std::cout <<"Veuillez entrer l'IP du server avec lequel vous souhaitez communiquer : "; std::cin >>IP; sin.sin_addr.s_addr = inet_addr(IP.c_str()); //L'adresse IP de l'ordi du server
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag (en bas)
Oui, mais on n'est peut-être pas supposé connaît l'IP du server en question...
Je proposerais un autre solution :
-Le server scanne l'ordi sur lequel il se trouve.
-Il envoit au client une string correspondant à l'IP de l'ordi scanné .
-Le prog client est automatiquement lié au server avec la nouvelle adresse IP du server.
C'est plus compliqué à faire, mais peut-être plus simple pour les utilisateurs !
Et comment le serveur va-t-il envoyer au client son IP ?
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag (en bas)
euh...ah oui j'y avais pas pensé !
Effectivement, c'est problématique. Il faudrais que le server connaisse alors l'IP du client, mais on en revient au même problème.
Dans ce cas là ta solution me paraît la meilleure. Si on veut que le server soit transportable d'un ordi à l'autre, y'a pas 36 solutions.
Il y a une dernière solution mais qui devient plus lourde, c'est de faire un serveur central fixe qui se charge de répertorier tous les petits serveurs qui sont prêt à recevoir des connexions de la part de clients...
on peut ainsi donner à chaque serveur un petit nom paramétrable, ce qui est plus simple... ensuite le client à juste à savoir le nom du serveur et à demander l'IP correspondante au serveur central...
Mais ça demande de mettre en place une structure beaucoup plus importante
Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [ code ] (bouton #) et au tag (en bas)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager