zfjyyzycl 发表于 2008-8-5 10:43

请帮忙,关于网络使用的问题

客户端和服务器

一个测试网络和服务器状态的表单,
Private Sub Form_Load()
    Winsock1.RemoteHost = "46.0.180.153"
    Winsock1.RemotePort = 5000
    Winsock1.Connect
End Sub
Private Sub Command2_Click()
    If Text1.Text = "" Or Text2.Text = "" Then
        Call MsgBox("服务器IP地址和端口不能为空,请重新输入!", vbonlyok, "警告")
        Exit Sub
    End If
    On Error GoTo errhandle:
    Winsock1.SendData "001"
errhandle:
    If Err.Number = 40006 Then
        MsgBox "网络不通、与服务器失去联系或者服务器没有启动111!"
    End If
End Sub
以上可以成功的从服务器根据客户端发送的信息,获取返回的相应的信息

但是如果我这样做,将联接的部分放到按钮里
Private Sub Command2_Click()
    [color=Blue]Winsock1.RemoteHost = "46.0.180.153"
    Winsock1.RemotePort = 5000
    Winsock1.Connect[/color]
    If Text1.Text = "" Or Text2.Text = "" Then
        Call MsgBox("服务器IP地址和端口不能为空,请重新输入!", vbonlyok, "警告")
        Exit Sub
    End If
    On Error GoTo errhandle:
    [color=Red]Winsock1.SendData "001"[/color]
errhandle:
    If Err.Number = 40006 Then
        MsgBox "网络不通、与服务器失去联系或者服务器没有启动111!"
    End If
End Sub
执行到 发送测试数据的时候就出现了
[color=Magenta]实时错误‘40006’
所需事物或请求的错误协议或联接状态[/color]
到底怎么回事啊
请帮忙,不胜感激

octillion 发表于 2008-8-5 11:37

Winsock1.Connect
......
    Winsock1.SendData "001"


请你理解,Winsock的SendData不是在Connect方法之后这样使用的。
具体用法见使用成功的程序。

simpson 发表于 2008-8-5 20:59

需要检测连接状态    待成功连接再发送

页: [1]

编程论坛