高手继续解答,我已写了一部分了,要实现自己的问题估计已不难,但是要做成一个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
此贴有分相送c#+sql的项目作个资产管理系统的web输入部分, 基本目标,从web页面取得数据,然后保存到sql数据库里面现在基本做好框架了, 但是还有几个问题很难解决,希望找个高手来指导一下本人,一个月前才开始c# 学习比较笨,希望高手不吝赐教,做好以后高分相送(准备送个几百分吧,呵呵)qq34214135基本全天都在,验证csdn
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
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]
http://blog.sunmast.com/sunmast/articles/211.aspx