程序如下:
Private Sub Command1_Click()'setups winsock
Winsock1.LocalPort = 2043
Winsock1.RemoteHost ="www.sina.com.cn"
Winsock1.RemotePort = 80
'sets loop
winsock1.Connect 
 If WinSock1.State = sckConnected Then    End If
'sends data
Winsock1.SendData "111"end sub是用的udp协议
调试的时候WinSock1.State =1
sckConnected =7
应该是WinSock1.State =7是才是接上了。
但我的是1
问题出在哪里??

解决方案 »

  1.   

    当我把协议改成TCP的时候
    WinSock1.State =6
    后又把程序改为
    Private Sub Command1_Click()
    Winsock1.LocalPort = 11111
    Winsock1.RemoteHost = "www.sina.com.cn"
    Winsock1.RemotePort = 80Winsock1.Connect
     If Winsock1.State = sckConnected Then    End If
    Do
    Loop While Winsock1.State <> 7
    End Sub
    Private Sub Winsock1_Connect()
    Winsock1.SendData "!"
    End Sub
    然后程序就定在Loop While Winsock1.State <> 7这一行了。
      

  2.   

    参加一个显示winsock的状态方法!!Private Sub Timer1_Timer()
     Select Case Winsock1.State
     Case 0
     Txt = "缺省的,关闭"
     Case 1
     Txt = "打开"
     Case 2
     Txt = "侦听"
     Case 3
     Txt = "侦听"
     Case 4
     Txt = "连接挂起"
     Case 5
     Txt = "识别主机"
     Case 6
     Txt = "正在连接"
     Case 7
     Txt = "已连接"
     Case 8
     Txt = "同级人员正在关闭连接"
     Case 9
     Txt = "错误"
     End Select
     
     Label1.Caption = Txt
    End SubTimer1.Interval =  200