我用Winscok控件做了一个代理软件,可是打开的网页只能显示文字,所有的图片文件及其他文件都打不可,请问有什么办法可以解决这个问题。以下是程序的源码:Dim netStr As String
Dim RequestIP As StringPrivate Sub Command1_Click()
    Outsock.Close
    
    intPos = InStr(Text2.Text, "Host: ")
    intPos = intPos + Len("Host: ")
    intPos2 = InStr(intPos + 1, Text2.Text, vbCrLf)
    Text1.Text = Mid$(Text2.Text, intPos, intPos2 - intPos)
    RequestIP = Mid$(Text2.Text, intPos, intPos2 - intPos)
    Outsock.RemoteHost = RequestIP
    Outsock.RemotePort = 80
    Outsock.Connect
End SubPrivate Sub Command2_Click()
    'Outsock.Close
    If netStr = "" Then Exit Sub
    ServerSock.SendData netStr
    'ServerSock.Close
    'ServerSock.LocalPort = 6666
    'ServerSock.Listen
    netStr = ""
End SubPrivate Sub Form_Load()
    ServerSock.LocalPort = 6666
    ServerSock.Listen
End SubPrivate Sub Outsock_Close()
    Command2_Click
End SubPrivate Sub Outsock_DataArrival(ByVal bytesTotal As Long)
    Dim requeststr As String
    On Error Resume Next
    
    Outsock.GetData requeststr, vbArray + vbByte
    netStr = netStr & requeststr
    Text2.Text = netStr
    'Command2_Click
End SubPrivate Sub Outsock_Connect()
    Dim sendStr As String
    On Error Resume Next
    sendStr = Text2.Text
    Outsock.SendData sendStr
End SubPrivate Sub Outsock_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 mumber
End SubPrivate Sub ServerSock_ConnectionRequest(ByVal requestID As Long)
    ServerSock.Close
    ServerSock.Accept requestID
    Text1.Text = ServerSock.RemoteHostIP
End SubPrivate Sub ServerSock_DataArrival(ByVal bytesTotal As Long)
    Dim requeststr As String
    
    ServerSock.GetData requeststr
    Text2.Text = requeststr
    Command1_Click
End SubPrivate Sub ServerSock_SendComplete()
    Outsock.Close
    ServerSock.Close
    'ServerSock.LocalPort = 6666
    ServerSock.Listen
End Sub

解决方案 »

  1.   

    Private Sub Outsock_DataArrival(ByVal bytesTotal As Long)
        Dim requeststr() As byte
        On Error Resume Next
        redim requeststr(bytestotal)    Outsock.GetData requeststr
        serversock.setnddata requeststr
        'netStr = netStr & requeststr
        'Text2.Text = netStr
        'Command2_Click
    End Sub
      

  2.   

    To  zqfleaf(动力港湾):
       我已经按你的方法改过了,可是这样我能网也上不去了, 是不是什么地方还不对。
      

  3.   

    ServerSock.Close
        ServerSock.Accept requestID
        Text1.Text = ServerSock.RemoteHostIP上面的代码,你自己都close了,怎么accept下一个连接啊?