代码如下:
Option Explicit
Dim Connections As Integer
Dim Strdata As String
Dim Index As Integer
Dim conlab As Integer
Dim findget As String
Dim spc2 As String
Dim Page As String
Dim Nr As String
Dim Tx As String
Dim Lg As String
Dim Tx1 As String
Dim m As IntegerPrivate Sub Command1_Click()
Connections = 100
Me.Winsock1.Close
Me.Winsock1.LocalPort = 80
Me.Winsock1.Listen
Me.List1.AddItem Time & "服务器开始运行"
End SubPrivate Sub Command2_Click()
Me.Winsock1.Close
Me.List1.AddItem Time & "服务器已停止运行"
End SubPrivate Sub Form_Load()
Dim I As Integer
For I = 1 To Connections
Load Winsock1
Next
Me.WebPfad = App.Path & "\"
End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = True
Me.Hide
End SubPrivate Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Ip Strdata, Index, "Connect"
If Index = 0 Then
Connections = Connections + 1
conlab = conlab + 1
Load Winsock1
Winsock1.LocalPort = 0
Winsock1.Accept requestID
End If
End SubPrivate Sub Ip(GetD, Index, ConnectD)
If ConnectD = "Connect" Then
Me.List1.AddItem ConnectD & " " & Time & " " & Winsock1.RemoteHostIP
Else
Me.List1.AddItem ConnectD & " " & Time & " " & Winsock1.RemoteHostIP
End If
End SubPrivate Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim Strdata As String
Winsock1.GetData Strdata
If Mid$(Strdata, 1, 3) = "GET" Then
findget = InStr(Strdata, "GET")
spc2 = InStr(findget + 5, Strdata, "")
Page = Mid$(Strdata, findget + 5, spc2 - (findget + 4))
Ip Strdata, Index, "Asked For" & Page
SendPage Page, Index
End If
End SubPublic Sub SendPage(Page, Index)
On Error GoTo Fehler
If Page = "" Then Page = "index.html"
Nr = FreeFile
Tx = ""
Lg = FileLen(WebPfad & Page)
Open WebPfad & Page For Binary As Nr
Tx1 = ""
For m = 1 To Lg
Get #Nr, , Tx
Tx1 = Tx1 + Tx
Next
Close Nr
Winsock1.SendData Tx1
Fehler: If Err.Number = 53 Then Winsock1.SendData "您所访问的页面不存在!"End Sub窗体时可以运行的,但是却无法正确执行里面的东东……

解决方案 »

  1.   

    我换了端口它还是不行……因为:
    实时错误:361
    不能加载或卸载该对象程序下载地址:
    http://exs.mail.qq.com/cgi-bin/downloadfilepart/svrid27/%B9%A4%B3%CC1.exe?svrid=27&fid=7144f453582ea00aa872d0cb890c99ed3f2b8319fe65edf3&&txf_fid=3bcbd532b2ac6c5c74515495e747f1cd5b974d73&&txf_sid=373bc3695fa5c47f985b52d07aeeffe9da97046d
    提取码2d88a0b0
      

  2.   

    不好意思发错了http://exs.mail.qq.com/cgi-bin/downloadfilepart/svrid31/vb.rar?svrid=31&fid=82ecc5644889819601fd8cfd97d2c1a08ecfa01f33bbfa9e&&txf_fid=209e038dd929d7e27761005991f9baec880a79e2&&txf_sid=ed20b6cc404d37c5d759bbc01580581b26cad2e9提取码972bb653
      

  3.   

    那我知道可能出现错误的地方了!
    你的WinSock1控件并不是数组
    而你的代码中有几个地方使用了Load Winsock1,而且还是循环使用
    正常情况下应该是Load Winsock1(x),你试试把WinSock1的Index属性设置为0再试试
    Index属性设置为0后,代码很多地方都需要修改,例如把Me.Winsock1.xxx改为Me.Winsock1(0).xxx