我想做一个可以用IE浏览的服务器例子。
打开8000端口,等待IE的连接,当IE连接后,就向IE发送数据,发送完毕后,要马上中断连接后,重新监听8000端口,等待IE的再次连接,再次发送数据。
可以接收到数据,但是不能自动向连接的目标发送数据。不知道是怎么回事。点command1后开始监听8000端口。当有数据发送过来,就向目标发送数据。
可是我下面的这段代码有问题,请大家帮改一下:
Sub Wclose()
wsk1.Close
End Sub
Sub SendData()
 wsk1.SendData "<html><title>"
 wsk1.SendData "Test</title>"
 wsk1.SendData "<a href='ok'>OK</a>"
 wsk1.SendData "</html>"
 Call Wclose
End Sub
Private Sub Command1_Click()
wsk1.LocalPort = 8000
wsk1.Listen
End SubPrivate Sub Command3_Click()
wsk1.Close
End SubPrivate Sub Timer1_Timer()
Label1.Caption = wsk1.State
End SubPrivate Sub wsk1_ConnectionRequest(ByVal requestID As Long)
If wsk1.State <> sckClosed Then wsk1.Close
  wsk1.Accept requestID
End SubPrivate Sub wsk1_DataArrival(ByVal bytesTotal As Long)
Dim mydata As String
wsk1.GetData mydata
Text1.Text = mydata
If bytesTotal > 0 Then
  Call SendData
End If
End Sub

解决方案 »

  1.   

    Sub SendData()
     '发送之前判断一下状态
     while wsk1.statue<>sckconnected
      doevents
     wend wsk1.SendData "<html><title>"
     wsk1.SendData "Test</title>"
     wsk1.SendData "<a href='ok'>OK</a>"
     wsk1.SendData "</html>"
     Call Wclose
    End Sub因为是循环,最好加上超时的判断,以免死循环。
      

  2.   

    谢谢了,搞定了。
    Private Sub wsk1_SendComplete()
    wsk1.close
    End Sub
    在发送完成里面,加一句就可以了。:::)))