TELNET serveur [Résolu]

Signaler
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009
-
Marko007
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009
-
Bonjour,

je dois créer une tâche qui soit un serveur TELNET en vb.net, cette tâche doit répondre à des requêtes
d'un client telnet après authentification de l'utilisateur client qui s'y connecte.

Dois-je utiliser la librarie Winsock ? Avez-vous un exemple ? Ou autre ?

Merci,
Marco

13 réponses

Messages postés
14670
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 mars 2020
139
Bonjour

Pour commencer : en .NET, pas de Winsock, mais system.Net.Sockets.{Socket, TcpClient, TcpListener, UdpClient}

Ensuite, le penses qu'un TcpListeener et quelques lignes de codes devraient suffir (sans oublier de threader l'appli pour faciliter la comm).

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

Ok,

as-tu un exemple pour activer le port 23 (Telnet), demander un mot de passe + un nom utilisateur,
et recevoir des informations via cette classe ?

Merci,
Marco
Messages postés
14670
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 mars 2020
139
Bonjour

Il y a plein d'exemple de client/serveur sur le site, une connexion Telnet n'est rien d'autre qu'une connexion TCP classique (mais qui ne transmet que du texte).

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

Voilà j'ai décidé de travailler avec Winsock (Ne m'en veillez pas), lors d'un DATA_ARRIVAL event,
j'affiche dans une texte box la donnée + sa taille.

J'ai bien la taille mais un blanc/rien/nada pour la donnée...

Des idée ? Voici le code :
   
Private Sub FrmTelnet_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Winsck.LocalPort = 23
        Label1.Text = "Local : " & Winsck.LocalHostName
        LblIP.Text = Winsck.LocalIP
        LblPort.Text = Winsck.LocalPort
        Winsck.Listen()
End Sub

Private Sub Winsck_ConnectionRequest(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles Winsck.ConnectionRequest

        Winsck.Close()
        Winsck.Accept(e.requestID)
End Sub

Private Sub Winsck_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsck.DataArrival

        Dim StrData As String
        StrData = ""

        Winsck.GetData(StrData, vbString, e.bytesTotal)
        TbxData.Text = StrData & " - " & e.bytesTotal
    End Sub

Merci,
Marco
Messages postés
14670
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 mars 2020
139
Bonjour

Dsl, mais je n'ai jamais utilisé WinSock sous .NET, dc je ne puis t'aider.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

J'ai bien la taille mais un blanc/rien/nada pour la donnée...

Des idée ?

Marco
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

AU SECOURS !!!!



Voilà j'ai décidé de travailler avec Winsock (Ne m'en veillez pas), lors d'un DATA_ARRIVAL event,
j'affiche dans une texte box la donnée + sa taille.

J'ai bien la taille mais un blanc/rien/nada pour la donnée...

Des idée ? Voici le code :
   
Private Sub FrmTelnet_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Winsck.LocalPort = 23
        Label1.Text = "Local : " & Winsck.LocalHostName
        LblIP.Text = Winsck.LocalIP
        LblPort.Text = Winsck.LocalPort
        Winsck.Listen()
End Sub

Private
Sub Winsck_ConnectionRequest(ByVal sender As Object, ByVal e As
AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles
Winsck.ConnectionRequest

        Winsck.Close()
        Winsck.Accept(e.requestID)
End Sub

Private
Sub Winsck_DataArrival(ByVal sender As Object, ByVal e As
AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles
Winsck.DataArrival

        Dim StrData As String
        StrData = ""

        Winsck.GetData(StrData, vbString, e.bytesTotal)
        TbxData.Text = StrData & " - " & e.bytesTotal
    End Sub

Merci,

Marco
Messages postés
14670
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 mars 2020
139
Bonjour

Sincérement dsl, mais je ne vois pas d'où peut venitr le pb.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

Ok, c'est pas grave. Merci du support. Bug VB, ActiveX ?

Tu n'auras pas un exemple similaire cô ci-desuus (mais avec autre classe) ?

Merci,
Marco
Messages postés
14670
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 mars 2020
139
Bonjour

Coté de mes liens perso :
http://nhen0039.chez-alice.fr/en/download.php?File=ClsModbus.7z&dir=/programs/sources/vbnet2

Sinon, recherche les sources avec .NET et réseau.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

Je sais que je suis exigeant... Mais je ne trouve pas mon bonheur dans votre code + code vbfrance...

Un exemple tout simple d'une classe TCP qui est un serveur Telnet
(Donc identification par user + password sur le port 23)

Help me please,

Merci,
Marco
Messages postés
14670
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
28 mars 2020
139
Bonjour

Pour faire la connexion, ce n'est pas ultra compliqué, en regardant dans MSDN.

Ensuite pour l'authentification et le reste, c'est à toi de voir (concernant l'identificatiion, il y a quelquesss sujets sur le forum).

Dsl, mais je suis au boulot et je n'ai pas le temps de te faire un dessin.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
Messages postés
96
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
29 janvier 2009

Ok j'abandonne l'idée. Dingue que ça fonctionne nickel en VB6.0, mais pas en Visual Studio 2005.

Même avec l'outils de migration de Visual Studio 2005...

J'essaie now avec TcpListener, TcpClient, NetworkStream and co'

Merci du coup de main malgrès tout.
Marco