Sockets C - htonl()
Résolu
Utilisateur anonyme
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
déjà, je ne savais pas trop où poster, j'ai hésité à le mettre dans réseaux...
J'aimerais savoir premièrement quelle est la différence entre ADDR_ANY et INADDR_ANY.
Mais aussi, imaginons que je veux créer un serveur qui n'accepte qu'une seule ip, comment je peux faire s'il vous plait ?
Merci beaucoup !
déjà, je ne savais pas trop où poster, j'ai hésité à le mettre dans réseaux...
J'aimerais savoir premièrement quelle est la différence entre ADDR_ANY et INADDR_ANY.
Mais aussi, imaginons que je veux créer un serveur qui n'accepte qu'une seule ip, comment je peux faire s'il vous plait ?
Merci beaucoup !
5 réponses
je n'ai pas ADDR_ANY sur mon PC.
Le mieux est de regarder dans tes .h la définition de chaque. (je dirai qu'il peut y avoir une diffférence de type)
Un serveur qui n'accepte qu'un IP, je dirai qu'il faut vérifier l'IP du correspondant une fois qu'il est accépté et déconnecté si ce n'est pas le PC autorisé. C'est la méthode la plus simple dans le sens que c'est celle qui s'éloigne le moins des tuto et exemples classique. Il y a surement plus rusé et plus propre.
Le mieux est de regarder dans tes .h la définition de chaque. (je dirai qu'il peut y avoir une diffférence de type)
Un serveur qui n'accepte qu'un IP, je dirai qu'il faut vérifier l'IP du correspondant une fois qu'il est accépté et déconnecté si ce n'est pas le PC autorisé. C'est la méthode la plus simple dans le sens que c'est celle qui s'éloigne le moins des tuto et exemples classique. Il y a surement plus rusé et plus propre.
Merci, mais comment connapître l'ip des personnes connectées ?
Sinon, y a-t-il moyen d'éviter le probleme des NAT... Je voudrais faire un chat, mais le serveur serait chez un pote, donc pourqu'il n'ait pas à configurer sa livebox ou autre box, il faudrait trouver une solution pour que je puisse me connecter en rentrant son IP, mais pour l'instant je ne peux pas me connecter à cause de cette fameuse NAT...
Sinon, y a-t-il moyen d'éviter le probleme des NAT... Je voudrais faire un chat, mais le serveur serait chez un pote, donc pourqu'il n'ait pas à configurer sa livebox ou autre box, il faudrait trouver une solution pour que je puisse me connecter en rentrant son IP, mais pour l'instant je ne peux pas me connecter à cause de cette fameuse NAT...
l'ip des personnes connectés est mise dans la structure que tu passes en paramètre à accept().
Il faut être clair sur ce dont on parle. l'IP te ton pote, c'est celui de son pc ou celui d'internet ?
Les IP ne sont valables que dans le sous réseau dans lequel elles sont utilisées, ici, Internet ou la boucle locale.
Qu'est-ce qui te gène avec NAT, c'est simple et efficace, ça évite de se compliquer la vie. En principe un PC local ne peut pas servir de serveur (c'est à dire accepter des connections entrantes) sans configurer la passerelle (ou routeur).
Il faut être clair sur ce dont on parle. l'IP te ton pote, c'est celui de son pc ou celui d'internet ?
Les IP ne sont valables que dans le sous réseau dans lequel elles sont utilisées, ici, Internet ou la boucle locale.
Qu'est-ce qui te gène avec NAT, c'est simple et efficace, ça évite de se compliquer la vie. En principe un PC local ne peut pas servir de serveur (c'est à dire accepter des connections entrantes) sans configurer la passerelle (ou routeur).
Oui, merci.
Mais justement, le nat ca m'énerve, car moi je veux que mon pote soit serveur, donc pour que je me connecte à lui, j'indique son IP Internet (du style 60.233.12.45) et non locale, mais impossible de se connecter à cause de sa box, il faudrait faire du fowarding de port, ce qui me gène.
Mais justement, le nat ca m'énerve, car moi je veux que mon pote soit serveur, donc pour que je me connecte à lui, j'indique son IP Internet (du style 60.233.12.45) et non locale, mais impossible de se connecter à cause de sa box, il faudrait faire du fowarding de port, ce qui me gène.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tu n'as pas le choix !
Imagine que ton potes ait plusieurs PC. Tu envoies une requete à son IP internet, c'est donc à la box de la traiter.
La box n'offrant pas le service demander, elle s'en occupe pas. Mais métons qu'elle veuille le rediriger vers un PC local, vers lequel devrais elle rediriger l'appel ?
Ce problème est insoluble si tu ne lui dit pas ce qu'elle doit faire. C'est ça configurer la NAT.
Et par défaut tout les routeurs/modem rejettent les demandes de connexion (en effet très peu de gens utilises leur PC en serveur).
En gros, tu veux entrée dans un maison sans porte ni fenêtre, sans en construire. à moins d'utiliser une faille, c'est impossible !
Imagine que ton potes ait plusieurs PC. Tu envoies une requete à son IP internet, c'est donc à la box de la traiter.
La box n'offrant pas le service demander, elle s'en occupe pas. Mais métons qu'elle veuille le rediriger vers un PC local, vers lequel devrais elle rediriger l'appel ?
Ce problème est insoluble si tu ne lui dit pas ce qu'elle doit faire. C'est ça configurer la NAT.
Et par défaut tout les routeurs/modem rejettent les demandes de connexion (en effet très peu de gens utilises leur PC en serveur).
En gros, tu veux entrée dans un maison sans porte ni fenêtre, sans en construire. à moins d'utiliser une faille, c'est impossible !