Avoir son IP pricipale et non celle donnée par le routeur

Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 31 mars 2005 à 14:53
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010 - 31 mars 2005 à 20:30
Salut
mon prog qui utilise des winsok marchais parfaitement, mais la, quand j'ai changer mon modem avec un routeur, il me donne plus mon ip grace a:


System.Net.
IPHostEntry LocalHost = System.Net.
Dns.GetHostByName(
"");


HostIp = LocalHost.AddressList[LocalHost.AddressList.Length - 1];





mais il me donne celle que le routeur passe a mon poste, 10.0.0.13 je pense, maintenant je veux savoir comment avoir mon ip que le fournisseur donne a le routeur?? et aussi SQ deux applications dans deux postes avec le même routeur peuvent utiliser le même port??

Merci

YaoYao !!
http://csharp.over-blog.com

13 réponses

fdouieb Messages postés 264 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 12 juin 2013 3
31 mars 2005 à 15:43
Au yeux de la toile tu ne possede qu'une seule adresse IP. c'est celle du routeur.

Pour les PC qui sont sur le routeur il possede chacun une adresse
interne qui n'est pas visible pour internet. Si tu veux que ton
ordinateur puisse etre vu de l'exterieur il faut mapper un port.



A+
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
31 mars 2005 à 15:47
Ton routeur t'as donné une IP dynamique ? Il a donc un serveur dhcp. Donc 10.0.0.13 est bien l'IP de ton poste.

Pour récuperer l'adresse IP du routeur (l'adresse connectée, pas du
coté local), je ne sais pas comment tu pourrais faire (via du code en
C#, j'entends).



Et pour répondre a ta question, 2 applications sur 2 ordinateurs
différents peuvent bien évidement utiliser le meme port de connexion
pour se connecter a un serveur (C'est le routeur qui va gérer ca
ensuite).

Pour un port d'écoute, la c'est plus compliqué. (Si tes applications
sont des serveurs, donc). A ce moment la, c'est a toi de dire au
routeur vers quelle IP de ton reseau il doit router les paquets qui
arrivent sur un port donné.

Pour pouvoir faire tourner 2 memes serveurs sur le meme reseau, il te
faut leur donner un port d'écoute différent. (et dire a ton routeur
vers quelle IP router les paquets)

Mx
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
31 mars 2005 à 15:48
Grillé ^^

Mx
0
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
31 mars 2005 à 16:04
http://ip.wappu.tv/

Du utilise un webclient et tu parses. C'est ce qu'il y a de plus rapide / efficasse

::|The S@ib|::
MVP C#.NET
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TheSaib Messages postés 2367 Date d'inscription mardi 17 avril 2001 Statut Membre Dernière intervention 26 décembre 2007 23
31 mars 2005 à 16:11
ou sinon

checkIp.dyndns.org

Si tu veux faire plsu propre et que tu as un routeur UPnP

UPnPNATClass nat=new UPnPNATClass();
if (nat!=null)
{
IStaticPortMappingCollection maps=nat.StaticPortMappingCollection;
if (maps!=null)
{
foreach (IStaticPortMapping map in maps)
if (map!=null)
{
Console.WriteLine("External address:
{0}",map.ExternalIPAddress);
break;
}
}
}

::|The S@ib|::
MVP C#.NET
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mars 2005 à 18:43
je commence a piger, mais il me faut qu'une commande, c'est quand mon listener accepte une connexion, qu'il l'envoie a un autre port??? un peu comme ca

TCPListener.AcceptSocket(); et je lui montre le port la

dans ce cas, je ne v mapper que le port de l'ecout principale (2000), c ca???

et la , mon routeur (OvisLink) me donne bcp de truc pour les ports, comme vais-je les remplir??

Merci

YaoYao !!
http://csharp.over-blog.com
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
31 mars 2005 à 19:23
Tu n'as rien a changer dans ton code, c'est le routeur qui s'occupe de tout.

Par contre c'est a toi de définir via l'interface de ton routeur vers
quel PC tu veux router les paquets destinés a un port donné. Si ton
serveur ecoute sur plusieurs ports, alors oui, tu devras tous les
référencer dans le routeur.

Mx
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mars 2005 à 19:31
Oui, mais le problème, c'est que avant , quand le client se connecte a mon port 2000, je lui renvois "2010" et la, je crée un autre listener a 2010 et le client essaie de se connecter et je l'accepte, et voila, il communique dans son prore port, mais avec un routeur, je dois référencer qu'un seul port c'est le 2000, car je peux pas référencer de 2000 à 2500 si 500 personnes se connectent, et avec le listener de 2000, je veux que directement quand il accepte une demande, je lui montre un port et sans réenvoyer ce port et créer un autre listener, la communication commence avec ce port.en + , je n'ai pas trouver un coin dans la configuration de mon routeur ou je peux ajouter des ports que cette partie que je vous ai publier en haut, et je veux bien que vous me montrez koi faire dedans, mci

YaoYao !!
http://csharp.over-blog.com
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mars 2005 à 19:39
Houf j'ai pu référencer le port 2000, la première copnnexion marche, mais la deuxième, quand il le réenvoie au port 2001, il se bloke, mtna je dois savoir comment accepter un socket, et en même temps ne pas le laisser dans le port 2000.

Merci pour votre aide

YaoYao !!
http://csharp.over-blog.com
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
31 mars 2005 à 19:41
Si la plage de ports utilisée va de 2000 a 2500, alors normalement,
dans l'endroit ou tu configure ceci dans ton routeur, tu lui dis de
rediriger vers ton serveur tous les ports allant de 2000 a 2500... Mais
bon c'est pas tres sécurisé tout ca.



Ou alors, tu mets ton PC serveur dans une DMZ, et il se prend tous les coups, mais accepte toutes les connexions... ^^

Mx
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mars 2005 à 19:52
mais je pense que c très faisable, voila le shema ,

-un serveur sur l'ecout dans le port 2000
-un client se connecte via le port 2000 avec le serveur
-le serveur accepte le client mais le passe a un autre port pour ne pas charger le port 2000 de la réception

je v chercher poru trouver ca , c la seule chose qui me reste , je pense bien avoir vu dans un tutorial de c# sur les serveurs un shéma qui montre en dessin ces trucs, et en bas yavais le téléchargement de la source mais moi je l'ai pas télécharger, sniiiif, il me reste qu'un espoir c'est qu'un mvp passe comme ce qu'il fé dans tt les sujets, et mettre sa bonne réponse

A L'AIDE COCORICOOOOOOOOOOOOOOOOOOOO
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mars 2005 à 19:53
0
Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
31 mars 2005 à 20:30
mais ya pas tcplistener.bind??

YaoYao !!
http://csharp.over-blog.com
0
Rejoignez-nous