VB中用winsock组件远程登录solaris服务器的问题

chys0214 2013-01-10 04:30:02
我自己以前用批处理加vbs脚本编了一个远程登录solaris服务器并启动相关服务的程序,但是感觉自动化程度不高,这次改进了一下,希望不需要人工干预,但是在登录solaris服务器的时候出现了问题,代码如下:

Sub check_power()

'通过检查能否ping通服务器检查服务器是否已打开系统
fert1_power_on = IPValid("192.168.1.1") Or IPValid("192.168.2.3")

If fert1_power_on Then
Text1.Text = "电源已打开"
Text1.BackColor = &HC000&
End If

End Sub

Sub start_services()


If fert1_power_on = True And fert1_services_started = False Then
socket_in_use = True
Debug.Print Winsock1.State, "开始状态"
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Connect "192.168.1.1", "23"
DoEvents '转让控制权
Sleep (8000) '等待建立连接
Debug.Print Winsock1.State, "winsockstate状态"
Winsock1.SendData "fd7100" & vbCrLf '自动输入登录系统的用户名
DoEvents '转让控制权
Sleep (9000) '
Winsock1.SendData "super" & vbCrLf '自动输入登录系统的密码
DoEvents
Sleep (5000)
Winsock1.SendData "nsp" & vbCrLf '自动输入要启动的服务
DoEvents
socket_in_use = False
fert1_services_started = True
Text2.Text = "程序已运行"
Text2.BackColor = &HC000&
End If

End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Str As String
Winsock1.GetData Str
Debug.Print Str
Text3.Text = Text3.Text & Str
End Sub


我在运行程序时,可以看到每一步都执行过了,但是只返回一个?
在立即窗口显示一下内容:

0 开始状态

7 winsockstate状态

?
然后再什么都没有了,服务器也没有启动起来,求大仙帮帮忙,按道理来说如果winsock state为7 就是建立了连接了,我用同样的这个程序连接 H3C 交换机没有问题,但是连接 solaris服务器就只返回一个?
...全文
268 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

1,502

社区成员

发帖
与我相关
我的任务
社区描述
VB 网络编程
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧