Afficher routeur a partir de son ip et port c#

Résolu
Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012 - 30 juin 2012 à 22:29
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 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

9 réponses

Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012
1 juil. 2012 à 16:43
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
3
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
1 juil. 2012 à 02:15
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
0
Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012
1 juil. 2012 à 13:10
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
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
1 juil. 2012 à 14:44
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
0

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

Posez votre question
Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012
1 juil. 2012 à 15:52
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
0
Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012
1 juil. 2012 à 16:51
juste une dernière question enfin dernière lol

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

Ne rester pas ignorant svp
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
1 juil. 2012 à 18:23
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
0
Zeus1973 Messages postés 59 Date d'inscription vendredi 19 janvier 2007 Statut Membre Dernière intervention 15 août 2012
1 juil. 2012 à 18:28
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
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
1 juil. 2012 à 20:38
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
0
Rejoignez-nous