Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

controle winsock pour connexion telnet

7 réponses
Avatar
flavien
bonjour,

je me connecte sur un serveur unix, via un composant winsock sur le port 23.
Je passe mes commandes de connexion (user et mot de passe), j'arrive à passer
des commandes au serveur. Mon problème est que les réponses que je reçois du
serveur sont incomprehensible genre: ÿÿ
Auriez vous une solution ?
Merci.

7 réponses

Avatar
Jean-Marc Hilaire [MS]
C'est quoi comme serveur Unix ? Ce peut-être dû à un problème de big ou
little endian.

"flavien" wrote in message
news:
bonjour,

je me connecte sur un serveur unix, via un composant winsock sur le port
23.
Je passe mes commandes de connexion (user et mot de passe), j'arrive à
passer
des commandes au serveur. Mon problème est que les réponses que je reçois
du
serveur sont incomprehensible genre: ÿÿ
Auriez vous une solution ?
Merci.


Avatar
Jean-Marc
"flavien" wrote in message
news:
bonjour,

je me connecte sur un serveur unix, via un composant winsock sur le port
23.
Je passe mes commandes de connexion (user et mot de passe), j'arrive à
passer
des commandes au serveur. Mon problème est que les réponses que je reçois
du
serveur sont incomprehensible genre: ÿÿ
Auriez vous une solution ?
Merci.




"Jean-Marc Hilaire [MS]" a écrit dans le
message de news:%
C'est quoi comme serveur Unix ? Ce peut-être dû à un problème de big ou
little endian.



Hello,

Très improbable (impossible en fait, si le serveur est sous Unix).

Lire la RFC Telnet http://abcdrfc.free.fr/rfc-vf/rfc854.html.
Telnet implémente un terminal réseau virtuel, et le jeu de caractère utilisé
pour les transmissions est l'US Ascii standard 7 bits, sauf exceptions. De
plus
Telnet est orineté caractère. Si il doit envoyer un "A", il envoie "A" (65
en décimal)
et jamais autre chose (sauf exceptions: machines EBCDIC).

Est ce que flavien peut poster le bout de code ou il récupère les
données du serveur (dans data arrival) ?

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
flavien
Merci de vos réponse.

pour récuperer les données que me renvoi le serveur:

Private Sub ws_DataArrival(ByVal bytesTotal As Byte)
temp = " "
ws.GetData temp
End Sub

Je ne sais pas faire autrement.

Merci


"Jean-Marc" wrote:

"flavien" wrote in message
news:
> bonjour,
>
> je me connecte sur un serveur unix, via un composant winsock sur le port
> 23.
> Je passe mes commandes de connexion (user et mot de passe), j'arrive à
> passer
> des commandes au serveur. Mon problème est que les réponses que je reçois
> du
> serveur sont incomprehensible genre: ÿÿ
> Auriez vous une solution ?
> Merci.


"Jean-Marc Hilaire [MS]" a écrit dans le
message de news:%
> C'est quoi comme serveur Unix ? Ce peut-être dû à un problème de big ou
> little endian.

Hello,

Très improbable (impossible en fait, si le serveur est sous Unix).

Lire la RFC Telnet http://abcdrfc.free.fr/rfc-vf/rfc854.html.
Telnet implémente un terminal réseau virtuel, et le jeu de caractère utilisé
pour les transmissions est l'US Ascii standard 7 bits, sauf exceptions. De
plus
Telnet est orineté caractère. Si il doit envoyer un "A", il envoie "A" (65
en décimal)
et jamais autre chose (sauf exceptions: machines EBCDIC).

Est ce que flavien peut poster le bout de code ou il récupère les
données du serveur (dans data arrival) ?

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."






Avatar
jean-marc
Sorry,
j'ai dit une bêtise dans ma réponse précédente.

--
Jean-marc


"Jean-Marc" wrote in message
news:422365ba$0$10334$
"flavien" wrote in message
news:
> bonjour,
>
> je me connecte sur un serveur unix, via un composant winsock sur le port
> 23.
> Je passe mes commandes de connexion (user et mot de passe), j'arrive à
> passer
> des commandes au serveur. Mon problème est que les réponses que je


reçois
> du
> serveur sont incomprehensible genre: ÿÿ
> Auriez vous une solution ?
> Merci.


"Jean-Marc Hilaire [MS]" a écrit dans le
message de news:%
> C'est quoi comme serveur Unix ? Ce peut-être dû à un problème de big ou
> little endian.

Hello,

Très improbable (impossible en fait, si le serveur est sous Unix).

Lire la RFC Telnet http://abcdrfc.free.fr/rfc-vf/rfc854.html.
Telnet implémente un terminal réseau virtuel, et le jeu de caractère


utilisé
pour les transmissions est l'US Ascii standard 7 bits, sauf exceptions. De
plus
Telnet est orineté caractère. Si il doit envoyer un "A", il envoie "A" (65
en décimal)
et jamais autre chose (sauf exceptions: machines EBCDIC).

Est ce que flavien peut poster le bout de code ou il récupère les
données du serveur (dans data arrival) ?

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."





Avatar
ns
Bonjour,

Pour se connecté, tu as besoin d'envoyer une chaîne(s) de caractère au
serveur pour définir des données comme peut être le type de terminal et la
vitesse de transmission... etc si non, il interprète mal ou pas les données
reçu.

il faudra voir cela dans les RFC de Telnet ou simplement dans les pages MAN
de ton serveur UNIX.

Tape "MAN telnetd" sur ton serveur pour avoir l'aide, tu aura ainsi les
options a envoyer au serveur pour pouvoir échanger avec lui des info.

Bonne suite
NS

"flavien" a écrit dans le message de
news:
bonjour,

je me connecte sur un serveur unix, via un composant winsock sur le port


23.
Je passe mes commandes de connexion (user et mot de passe), j'arrive à


passer
des commandes au serveur. Mon problème est que les réponses que je reçois


du
serveur sont incomprehensible genre: ÿÿ
Auriez vous une solution ?
Merci.


Avatar
Jean-Marc
"flavien" a écrit dans le message de
news:
Merci de vos réponse.

pour récuperer les données que me renvoi le serveur:

Private Sub ws_DataArrival(ByVal bytesTotal As Byte)
temp = " "
ws.GetData temp
End Sub

Je ne sais pas faire autrement.



Hello,

j'ai donc dit une bêtise dans ma précédente réponse. J'avais mal compris. En
fait, Telnet est un
protocole négocié ce qui signifie que le client et le serveur échangent un
certain nombre d'informations
avant d'entrer dans le vif du sujet. Il y a pour cela des commandes et des
code, qui sont représentés par des valeurs ASCII comme 253, 252, d'ou les
caractères étranges que tu reçois (j'avais oublié la phase de négociation,
d'ou ma réponse précédente erronnée).

Tout ceci est bien décrit ici:
http://www.scit.wlv.ac.uk/~jphb/comms/telnet.html

Si tu veux voir ce que ton serveur te raconte (et donc savoir ce que tu dois
lui répondre), voici un petit exemple à mettre dans data_arrival:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim buffer As String
Dim s As String
Dim c As String
Dim i As Integer

Winsock1.GetData buffer
Text3.Text = Text3.Text & buffer

For i = 1 To bytesTotal
c = Mid$(buffer, i, 1)
Select Case Asc(c)
' commandes
Case 255
s = s & vbCrLf & "IAC "
Case 254
s = s & "DONT "
Case 253
s = s & "DO "
Case 252
s = s & "WONT "
Case 251
s = s & "WILL "
Case 250
s = s & "SB"
Case 249
s = s & "GA"
Case 248
s = s & "EL"
Case 247
s = s & "EC"
Case 246
s = s & "AYT"
Case 245
s = s & "AO"
Case 244
s = s & "IP"
Case 243
s = s & "BRK"
Case 242
s = s & "DM"
Case 241
s = s & "NOP"
Case 240
s = s & "SE"
' options
Case 1
s = s & "echo " '857
Case 3
s = s & "suppress go ahead " '858
Case 5
s = s & "Status " '859
Case 6
s = s & "timing mark " '860
Case 24
s = s & "terminal type " '1091
Case 31
s = s & "window size " '1073
Case 32
s = s & "terminal speed " '1079
Case 33
s = s & "remote flow control " '1372
Case 34
s = s & "linemode " '1184
Case 36
s = s & "environment variables " '1408
Case Else
s = s & Asc(c)
End Select
Next i
Text1.Text = Text1 & s & vbCrLf

End Sub




--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
flavien
Merci à vous,

je test demain meme si j'avoue ne pas avoir bien compris la solution de
jean-marc, d'ailleurs si tu pouvais m'expliquer ce serait sympa.

Bonne soirée.

"ns" wrote:

Bonjour,

Pour se connecté, tu as besoin d'envoyer une chaîne(s) de caractère au
serveur pour définir des données comme peut être le type de terminal et la
vitesse de transmission... etc si non, il interprète mal ou pas les données
reçu.

il faudra voir cela dans les RFC de Telnet ou simplement dans les pages MAN
de ton serveur UNIX.

Tape "MAN telnetd" sur ton serveur pour avoir l'aide, tu aura ainsi les
options a envoyer au serveur pour pouvoir échanger avec lui des info.

Bonne suite
NS

"flavien" a écrit dans le message de
news:
> bonjour,
>
> je me connecte sur un serveur unix, via un composant winsock sur le port
23.
> Je passe mes commandes de connexion (user et mot de passe), j'arrive à
passer
> des commandes au serveur. Mon problème est que les réponses que je reçois
du
> serveur sont incomprehensible genre: ÿÿ
> Auriez vous une solution ?
> Merci.