另:不要那个有人说过的C#写的telnetsoucecode,没用

解决方案 »

  1.   

    你先telnet上去做你说的过程,同时用一个sniffer监听看到底telnet到底发送了什么东西,然后自己用TcpClient或Socket自己发送不就行了
      

  2.   

    http://expert.csdn.net/Expert/topic/3033/3033736.xml?temp=.3871118
    此贴有分相送c#+sql的项目作个资产管理系统的web输入部分, 基本目标,从web页面取得数据,然后保存到sql数据库里面现在基本做好框架了, 但是还有几个问题很难解决,希望找个高手来指导一下本人,一个月前才开始c# 学习比较笨,希望高手不吝赐教,做好以后高分相送(准备送个几百分吧,呵呵)qq34214135基本全天都在,验证csdn
      

  3.   

    高手继续解答,我已写了一部分了,要实现自己的问题估计已不难,但是要做成一个telnet客户端还有一点毛病,请大虾指正
    Imports System.Net
    Imports System.Net.Sockets
    Imports System.IO
    Imports System.Text
    Imports System.ThreadingModule Module1    Sub Main()
            'Console.Write("请输入主机域名/IP:")
            ' Dim destHost As String = Console.ReadLine()
            'Console.WriteLine(destHost)
            Dim destIP As IPAddress = IPAddress.Parse("218.198.127.141")
            Dim lep As New IPEndPoint(destIP, 23)
            Dim s As New Socket(lep.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp)        Dim sendBytes(), receBytes(2048) As Byte
            Dim receLength, sendLength As Int32
            Dim inputString As String
            Dim outputString As String        Try
                s.Connect(lep)
                Console.Write("connected {0}", s.RemoteEndPoint.ToString)
                receLength = s.Receive(receBytes)            Console.Write(Encoding.ASCII.GetString(receBytes, 0, receLength))            'sendBytes = Encoding.ASCII.GetBytes("manager..")
                'sendLength = s.Send(sendBytes)
                receLength = s.Receive(receBytes)            Console.Write(Encoding.ASCII.GetString(receBytes, 0, receLength))
                Do While True                inputString = Console.ReadLine
                    If inputString.ToUpper <> "EXIT" Then
                        'Console.Write(receFromHost(inputString, s))
                        sendBytes = Encoding.ASCII.GetBytes(inputString & Chr(13) & Chr(10))
                        'Console.Write("send {0}", Encoding.ASCII.GetString(sendBytes))
                        sendLength = s.Send(sendBytes)
    ==========注意这个消息框,如果我去掉,就不行了=========
                        MsgBox(s.Available) 
    =====================================
                       
                        receLength = s.Receive(receBytes, s.Available, SocketFlags.None)
    ==========这个消息框也是如此==================
                        MsgBox(receLength)
    ======================================
                        Console.Write(Encoding.ASCII.GetString(receBytes, 0, receLength))
                                        Else
                        Exit Do
                    End If
                Loop
                Console.Read()        Catch e As Exception
                Console.Write(e.ToString)
                Console.Read()
            Finally
                s.Shutdown(SocketShutdown.Both)
                s.Close()        End Try
               
        End Sub
    End Module
      

  4.   

    我想可以借用WINDOWS的TELNET
    System.Diagnostics.Process P=new System.Diagnostics.Process();
    P.StartInfo.FileName=@"telnet.exe";//程序名称
    P.StartInfo.Arguments=@"你的IP";//参数
    P.StartInfo.UseShellExecute = false;
    P.StartInfo.RedirectStandardOutput = true;
    P.StartInfo.RedirectStandardInput =ture;
    P.StartInfo.CreateNoWindow=true;
    P.Start();
    P.StandardInput.WriteLine("UserName");
    P.StandardInput.WriteLine("PassWord");
    P.StandardInput.WriteLine("C");
    ..........//你说的我不明白。
    P.StandardInput.WriteLine("exit");
    P.Close();
    //我没有试验,因为我没有这样的设备(懒)
    //还有什么问题可以一起商量!E-mail:[email protected]
      

  5.   

    直接用windows自带的telnet,你可以参考一下
    http://blog.sunmast.com/sunmast/articles/211.aspx