begin process at 2010 02 10 05:06:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Réseau & Internet

 > 

Internet

 > 

Question sur les Hostnames et réseaux privés


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Question sur les Hostnames et réseaux privés

mardi 7 novembre 2006 à 21:53:03 | Question sur les Hostnames et réseaux privés

aurel16v


J'explique mon souci:

J'ai une application qui doit tourner en multicast.

Mon serveur se trouve sur un réseau privé IP: 192.168.1.3
J'ai un compte no-ip, j'ai donc un hostname reconnu sur le Web au niveau de mon ROUTEUR.

PROBLEME: comment établir mes connexions à partir de l'extérieur?

Mes applications clientes n'arrivent pas a trouver mon PC, et je ne peux pas ouvrir de socket au niveau de mon routeur, il y a-t-il un moyen de contourner le problème?

Merci d'avance pour les réponses!
mercredi 8 novembre 2006 à 09:05:28 | Re : Question sur les Hostnames et réseaux privés

MorpionMx

Membre Club Administrateur CodeS-SourceS
Salut

En toute logique, si tu as un serveur qui tourne derriere ton routeur, il faut router le port pour que les applis clientes puissent y acceder. Donc il faut specifier a ton routeur que toutes les connexions à tel ou tel port doivent etre redirigées vers 192.168.1.3.

Autre solution, mettre ton serveur en DMZ. Mais là, il va se prendre tous les coups.

Mx
MVP C#
 

mercredi 8 novembre 2006 à 10:54:48 | Re : Question sur les Hostnames et réseaux privés

aurel16v

Salut,

Je te remercie de ta réponse rapide!

Le routeur est déjà configuré et je suis en Demilitarised Zone sur mon 192.168.1.3... ça voudrait donc dire que j'ai fait des erreurs dans mon code? Faudrait-il que je l'expose pour voir? C'est du multicast... et je n'en ai jamais fait!

mercredi 8 novembre 2006 à 11:02:36 | Re : Question sur les Hostnames et réseaux privés

MorpionMx

Membre Club Administrateur CodeS-SourceS
A priori ca devrait etre bon.
Tu as essayé des trucs de base, comme par exemple te connecter au serveur en local.
Voire meme plutot que d'essayer sur le serveur que tu as deja codé, juste coder un mini serveur qui ecoute la connexion d'un client, simplement pour voir si ca fonctionne et deceler si les erreurs viennent de ton code ou de la config.

Mx
MVP C#
 

mercredi 8 novembre 2006 à 18:01:34 | Re : Question sur les Hostnames et réseaux privés

aurel16v


Quand j'essaie mon client, il me dit que l'adresse IP est déjà utilisée, cependant de l'extérieur elle n'est pas valide... je ne comprend rien. J'ai du foirer mon code alors... je le poste aussi, au cas ou..
.

serveur:

class Serveur
    {
        private string HostName = System.Net.Dns.GetHostName();
        private Thread vigile = null;

        private Socket mcastSocket;
        private IPEndPoint localAddress = new IPEndPoint(IPAddress.Any, 5654);
        private MulticastOption mcastOption;

        private bool alive = true;

        public Serveur()
        {
            try
            {
                //code d'adhésion au groupe multicast
                IPAddress ipadresse = System.Net.Dns.GetHostAddresses(HostName)[0];
                mcastOption = new MulticastOption(IPAddress.Parse("234.6.7.8"), ipadresse);
                mcastSocket = new Socket(localAddress.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
                mcastSocket.Bind(localAddress);
                byte[] bIP = System.Net.Dns.GetHostAddresses(HostName)[0].GetAddressBytes();
                // Add membership to the group.
                mcastSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, mcastOption);
                mcastSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.ReuseAddress, 1);
                mcastSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastInterface, bIP);

                //démarrage de l'attente des clients
                vigile = new Thread(new ThreadStart(recevoir));
                vigile.Start();
            }
            catch (SocketException err)
            {
                System.Windows.Forms.MessageBox.Show("Erreur : "+err.Message.ToString(), "[ERREUR]");
            }
        }
}



client:

class Client
    {
        private string HostName = "mon host no-ip";
        private Thread vigile = null;

        private Socket mcastSocket;
        private IPEndPoint localAddress = new IPEndPoint(IPAddress.Any, 5654);
        private MulticastOption mcastOption;

        private bool alive = true;

        public Client()
        {
            try
            {
                //code d'adhésion au groupe multicast
                mcastOption = new MulticastOption(IPAddress.Parse("234.6.7.8"), System.Net.Dns.GetHostAddresses(HostName)[0]);
                mcastSocket = new Socket(localAddress.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
                mcastSocket.Bind(localAddress);
                mcastSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.ReuseAddress, 1);
                mcastSocket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, mcastOption); //erreur ici

                //démarrage de l'attente des clients
                vigile = new Thread(new ThreadStart(recevoir));
                vigile.Start();
            }
            catch (SocketException err)
            {
                System.Windows.Forms.MessageBox.Show("Erreur : "+err.SocketErrorCode.ToString(), "[ERREUR INITIALISATION]");
            }
        }
}
mercredi 8 novembre 2006 à 20:48:01 | Re : Question sur les Hostnames et réseaux privés

MorpionMx

Membre Club Administrateur CodeS-SourceS
Oké,
 
je vais regarder ca dès que j'ai le temps, sans rien te promettre, jamais fais de Multicast non plus

Mx
MVP C#
 



Cette discussion est classée dans : réseaux, question, ip, hostnames, privés


Répondre à ce message

Sujets en rapport avec ce message

Paramètres dans une autre form [ par fredza ] Salut,Bête question :Sur un form j'ai un composant, à partir d'une autre form je voudrais accéder à ses propriétés (pour une form ok mais pour une deu Accès [ par fredza ] Bonjour et bonne année à toutes et tous,J'ai un fichier ip.cs voilà brièvement son contenu :namespace iprog{ /// /// Description résumée de ip. /// Probleme d'IP [ par MorpionMx ] Bonjour,Voila, je développe un tout petit chat sans prétention, le probleme c'est que avec ce bout de code :private static Socket s = new Socket (addr Lire et modifier une adresse IP [ par fardator ] Salut à tous,Je voudrais lire (et éventuellement modifier) mon (mes ?) adresse IP. Je n'ai pas trouvé mon bonheur dans System.Net.Quelqu'un connait la relation MDI child / parent [ par zouzounet ] bonjour :)tout d'abord, bonnes paques à tous :)j'ai ensuite une tite question qui me tracasse mon code :je suis sur une appli mdi, avec des child... l [CONCOURS] Question sur les droits [ par webboy ] Salut tout le monde,J'ai une question concernant les droits d'auteurs et (c)Je vais prendre l'exemple de la msdn..Je cherche comment faire quelque cho tite question sur c# [ par GazGaz ] lu allj'aurais besoin de savoir un ptit trucc# est considéré comme un langage de programmation evenementiel ou procedural ?? D'un coté c'est dérivé du Controle IP... [ par Miltiades ] J'aimerai savoir s'il le controle "Adresse IP" qui avait été implémenté en MFC existe en C#(ce controle sert à afficher une adresse IP en séparant les Besoin d'aide : "Pinger" un Ip:Port [ par SidSilver ] Voici mon problème.J'ai créé une application Win32 avec Visual C#.Je voudrais que cette application soit capable de tester si le port machin de l'ip t


Nos sponsors


Sondage...

Comparez les prix


HTC Hero

Entre 550€ et 550€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales