winsck获得局域网的SQL Server列表

zqfleaf 2004-04-05 06:53:24
参考:SQLping程序
原理:利用1434端口,向其发送一个字节内容为02即可返回

代码:向窗口放一个button和一个winsock
Private Sub Command1_Click()
Dim aa As Byte
aa = &H2
Winsock1.SendData aa
End Sub

Private Sub Form_Load()

With Winsock1
.RemoteHost = "255.255.255.255"
.RemotePort = 1434
.Protocol = sckUDPProtocol
.Bind 2000
End With

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim mystr As String
Dim sValue
Winsock1.GetData mystr
sValue = Split(mystr, ";")
Debug.Print "主机地址:" & Winsock1.RemoteHostIP
Debug.Print "主机名称:" & sValue(1)
Debug.Print "名称:" & sValue(3)
Debug.Print "是否集群:" & sValue(5)
Debug.Print "版本:" & sValue(7)
Debug.Print "TCP端口:" & sValue(9)
End Sub

请有条件的朋友测试一下,效果是与DMOSQL一致?
...全文
37 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
华芸智森 2004-04-06
  • 打赏
  • 举报
回复
'参考一下:

Private Sub Command1_Click()
Winsock1.Close
Winsock1.RemotePort = 1433
Winsock1.RemoteHost = "cjh"
Winsock1.Connect
End Sub

Private Sub Winsock1_Connect()
MsgBox "SQLSERVER正常"
End Sub
'探测错误
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox Error(Number)
End Sub
zqfleaf 2004-04-06
  • 打赏
  • 举报
回复
UP
daisy8675 2004-04-05
  • 打赏
  • 举报
回复
那東西我沒有...如果你確定你程序是ok的,那就是ok的。

zqfleaf 2004-04-05
  • 打赏
  • 举报
回复
谢谢!我想三个不见了原因可能是UDP端口不是开在1434,所以找不到!
你下一个SQLping.exe试试结果应该和我的一样,如果不一样哪就是我的错!
daisy8675 2004-04-05
  • 打赏
  • 举报
回复
DMOSQL測試網內目前開了9 個sql

但是winsock隻是收到了6個sql


差別:其中一台notebook中裝了2個sql,一個虛擬的。但是winsock默認成一個 。

還有另外兩台是獨立的,但是沒有測試出來
daisy8675 2004-04-05
  • 打赏
  • 举报
回复
偶去測測,好玩,不過DMOSQL還是透過sql取得,比如我有個local,默認位work95,它會當成2個不同地服務器報告的

7,763

社区成员

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

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