Afficher routeur a partir de son ip et port c# [Résolu]

Zeus1973 59 Messages postés vendredi 19 janvier 2007Date d'inscription 15 août 2012 Dernière intervention - 30 juin 2012 à 22:29 - Dernière réponse : NHenry 14274 Messages postés vendredi 14 mars 2003Date d'inscription 18 octobre 2018 Dernière intervention
- 1 juil. 2012 à 20:38
bonjour

je chercher a afficher ma page de mon routeur juste a partir de l'ip et le port je ne suis pas programmeur donc j'ai trouver le code sur le net mais hélas ca ne fonctionne pas quelqu'un peut il le corriger svp
un grand merci d'avance

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Net.Sockets;
using System.Text;
using System.IO ;
using System.Net ;
using System.Threading ;

namespace CSharp_Client
{

public class Client : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.ListBox listBox1;
private System.Windows.Forms.StatusBar statusBar1;
private System.Windows.Forms.Button button2;

private System.ComponentModel.Container components = null;

// Creation des objet et des variables pour tout les membres de la classe Client
private NetworkStream ns;
private TcpClient clientsocket;
private int port = 80;
private bool stop = true;

public Client()
{
InitializeComponent();
}


protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null) 
{
components.Dispose();
}
}
base.Dispose( disposing );
}

#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.statusBar1 = new System.Windows.Forms.StatusBar();
this.listBox1 = new System.Windows.Forms.ListBox();
this.button2 = new System.Windows.Forms.Button();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
// 
// button1
// 
this.button1.Location = new System.Drawing.Point(256, 224);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(72, 24);
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
// 
// statusBar1
// 
this.statusBar1.Location = new System.Drawing.Point(0, 256);
this.statusBar1.Name = "statusBar1";
this.statusBar1.Size = new System.Drawing.Size(336, 16);
this.statusBar1.TabIndex = 3;
// 
// listBox1
// 
this.listBox1.Location = new System.Drawing.Point(8, 40);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(320, 173);
this.listBox1.TabIndex = 2;
// 
// button2
// 
this.button2.Location = new System.Drawing.Point(64, 8);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(200, 24);
this.button2.TabIndex = 4;
this.button2.Text = "Se connecter au serveur";
this.button2.Click += new System.EventHandler(this.button2_Click);
// 
// textBox1
// 
this.textBox1.Location = new System.Drawing.Point(8, 224);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(240, 20);
this.textBox1.TabIndex = 1;
this.textBox1.Text = "";
// 
// Client
// 
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(336, 272);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
  this.button2,
  this.statusBar1,
  this.listBox1,
  this.textBox1,
  this.button1});
this.Name = "Client";
this.Text = "Client";
this.Closing += new System.ComponentModel.CancelEventHandler(this.Client_Closing);
this.ResumeLayout(false);

}
#endregion


[STAThread]
static void Main() 
{
Application.Run(new Client());
}

private void button2_Click(object sender, System.EventArgs e)
{
// inititialisation d'un thread pour la fonction Connection()
Thread th = new Thread(new ThreadStart(Connection));
th.Start() ;
}

public void Connection()
{
try 
{
// On crée une socket client sur le port (int port) et l'ip ( localhost (127.0.0.1) ici )donné
clientsocket = new TcpClient("http://192.168.1.1/",port);

statusBar1.Text = "Connexion ...";		

// si la socket a été crée
if( clientsocket != null  )
{
// objet pour recuperer et envoyer les données
ns = clientsocket.GetStream();

statusBar1.Text = "connecter au serveur";

 // boucle infinie pour la reception des données du serveur
while(stop)
{
// tableau de byte pour la reception des données
Byte[] buffer = new Byte[2048];

// reception des données
ns.Read(buffer,0,buffer.Length);

// traduction des bytes en ASCII ( texte normale )
string texte = System.Text.Encoding.ASCII.GetString(buffer);

//Affichage
listBox1.Items.Add("Serveur : " + texte);
}
}
else
{
statusBar1.Text = "le serveur n'as pas était trouver";
}
}
catch (Exception e) // en cas d'erreur
{
stop = false;
clientsocket.Close();
ns.Close();
//MessageBox.Show("Erreur : " + e.ToString() ,"Error");
statusBar1.Text = "Déconnecter";
}
}

private void button1_Click(object sender, System.EventArgs e)
{
// Envoie d'une message au serveur
EnvoieAuServeur(ns, textBox1.Text.ToString());
}

private void EnvoieAuServeur(NetworkStream netw, string texte)
{
try // try sert a detecter les erreur ( avec catch )
{
if(netw != null) // on regarde si l'objet est crée ou non
{
//tableau de bytes pour recevoir les donnée du serveur
Byte[] outbytes = System.Text.Encoding.ASCII.GetBytes(texte.ToCharArray());

// reception des données du serveur
netw.Write(outbytes,0,outbytes.Length);

// On ajoute aussi le texte dans notre listBox
listBox1.Items.Add("Client : " + texte);
}
else // si l'objet n'est pas crée
{
MessageBox.Show("Vous n'etes pas connecter au Serveur","Information");
}
}
catch(Exception e) // en cas d'erreur
{
stop = false;
clientsocket.Close();
ns.Close();
statusBar1.Text = "Déconnecter";
//Si vous voulez voir l'erreur
//MessageBox.Show("Erreur d'envoie : " + e.ToString(),"Erreur");
}
}

private void Client_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
stop = false;
clientsocket.Close();
ns.Close();
}



}
}


Ne rester pas ignorant svp

Ne rester pas ignorant svp
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Zeus1973 59 Messages postés vendredi 19 janvier 2007Date d'inscription 15 août 2012 Dernière intervention - 1 juil. 2012 à 16:43
3
Merci
un grand merci pour ton aide tu m'as mi sur la voie debutant que je suis voilà ce que j'ai fait.

private void goButton_Click(object sender, EventArgs e)
            {
                Navigate(toolStripTextBox1.Text);
            }
     
        private void Navigate(String address)
        {
         
            webBrowser1.Navigate(new Uri(url));
                
        }


Ne rester pas ignorant svp

Merci Zeus1973 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 100 internautes ce mois-ci

Commenter la réponse de Zeus1973
NHenry 14274 Messages postés vendredi 14 mars 2003Date d'inscription 18 octobre 2018 Dernière intervention - 1 juil. 2012 à 02:15
0
Merci
Bonjour,

Si c'est pour du HTTP, il y a une classe pour ça dans le framework.

Sinon, respectes au moins le protocole HTTP.

Essayes juste de mettre le code nécessaire, car sinon, ça décourage les réponses.

Que veux-tu faire précisément ?

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry
Zeus1973 59 Messages postés vendredi 19 janvier 2007Date d'inscription 15 août 2012 Dernière intervention - 1 juil. 2012 à 13:10
0
Merci
Merci pour ta réponse

et désolé pour le code mais comme je l'ai dit c'est trouvé sur le net et n'y connais rien, je pensais que c’était le bon soit!

voilà tout ce que je veux c'est avoir un bouton lorsque je clic qu'il m'affiche ma page web du routeur ou d'un serveur (page login forcement vu qu'il faut ce loger) j' suppose pour avoir lu qu'il faut passer deux paramètres(IP,PORT) mais comment ??????

voilà j'en ai vraiment besoin
merci à toi

ps: j'ai été voir le contrôle WebBrowser. mais suis a la page 10 du livre c# alors je n'ai rien compris désolé.


Ne rester pas ignorant svp
Commenter la réponse de Zeus1973
NHenry 14274 Messages postés vendredi 14 mars 2003Date d'inscription 18 octobre 2018 Dernière intervention - 1 juil. 2012 à 14:44
0
Merci
Bonjour,

Regardes le contrôle WebBrowser plutôt, je pense.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry
Zeus1973 59 Messages postés vendredi 19 janvier 2007Date d'inscription 15 août 2012 Dernière intervention - 1 juil. 2012 à 15:52
0
Merci
OK OK
voilà ici je recupere l'adresse dans un texte box nomé :toolStripTextBox1
je voidrai ne pas recuperer une adresse mais plutôt avoir une adresse par default le voici :http://192.168.1.1:8080

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Diagnostics;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

 
        private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                {
                    Navigate(toolStripTextBox1.Text);
                }
        }
        private void goButton_Click(object sender, EventArgs e)
            {
                Navigate(toolStripTextBox1.Text);
            }
     
        private void Navigate(String address)
        {
            if (String.IsNullOrEmpty(address)) return;
            if (address.Equals("about:blank")) return;
            if (!address.StartsWith("http://") &&
                !address.StartsWith("https://"))
                {
                    address = "http://" + address;
                }
                try
                    {
                        webBrowser1.Navigate(new Uri(address));
                    }
                        catch (System.UriFormatException)
                            {
                                return;
                            }
        }

        private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
            {
                toolStripTextBox1.Text = webBrowser1.Url.ToString();
            }
    }
}

Ne rester pas ignorant svp
Commenter la réponse de Zeus1973
Zeus1973 59 Messages postés vendredi 19 janvier 2007Date d'inscription 15 août 2012 Dernière intervention - 1 juil. 2012 à 16:51
0
Merci
juste une dernière question enfin dernière lol

comment mètre un URL dans une variable ? la syntaxe ?

Ne rester pas ignorant svp
Commenter la réponse de Zeus1973
NHenry 14274 Messages postés vendredi 14 mars 2003Date d'inscription 18 octobre 2018 Dernière intervention - 1 juil. 2012 à 18:23
0
Merci
Bonjour,

Pourquoi ne pas utiliser cette surcharge plutot ?
http://msdn.microsoft.com/fr-fr/library/40x214wa%28v=vs.80%29.aspx

Tu n'a qu'à utiliser le paramètre passé "address".

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry
Zeus1973 59 Messages postés vendredi 19 janvier 2007Date d'inscription 15 août 2012 Dernière intervention - 1 juil. 2012 à 18:28
0
Merci
merci

mais pourrais tu me donner un exemple car comme ça; ça ne me parle pas merci


public void Navigate (
string urlString
)


Ne rester pas ignorant svp
Commenter la réponse de Zeus1973
NHenry 14274 Messages postés vendredi 14 mars 2003Date d'inscription 18 octobre 2018 Dernière intervention - 1 juil. 2012 à 20:38
0
Merci
Bonjour,

WebBrowser1.Navigate(address);

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.