VB.NET使用system.net.tcpclient编写telnet客户端 [英] VB.NET writing a telnet client using system.net.tcpclient
本文介绍了VB.NET使用system.net.tcpclient编写telnet客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我连接到solaris盒时,这对我不起作用
This isn't working for me when I connect to my solaris box
服务器正在发回
??%
有人知道我在做什么吗
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Public Class TelnetClient
Private _hostname As String = "myserver"
Private _username As String = "user"
Private _password As String = "pass"
Private _port As Integer = 23
Private _client As TcpClient
Private _data As String
Private _sendbuffer(128) As Byte
Private _readbuffer(128) As Byte
Private _bytecount As Integer
Private _stream As NetworkStream
Private Sub Send(ByVal Text As String)
_sendbuffer = Encoding.ASCII.GetBytes(Text)
_stream.Write(_sendbuffer, 0, _sendbuffer.Length)
End Sub
Private Sub Read()
_bytecount = _stream.Read(_readbuffer, 0, _readbuffer.Length)
_data = Encoding.ASCII.GetString(_readbuffer)
End Sub
Public Sub Connect()
_client = New TcpClient(_hostname, _port)
_stream = _client.GetStream
Send(_username)
Read()
MsgBox(_data)
Send(_password)
Read()
_stream.Close()
_client.Close()
End Sub
End Class
推荐答案
从服务器获取的??%是Telnet选项协商的一部分。您需要进行选项协商,然后才能进行其他任何通信。
The ??% that you are getting from the server is part of the Telnet options negotiation. You need to do the options negotiation before any other communication can take place.
这篇关于VB.NET使用system.net.tcpclient编写telnet客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文