1

サーバーvb.NETで単純なプロキシを構築していますが、これまでのところ成功していますが、インターネットからデータを受信しNetworkStream.Write、受信したデータを使用してブラウザのネットワークストリームに書き戻すたびに、ブラウザにゆっくりと表示される傾向があります。私が知らない理由に。しかし、アプリケーションをローカル コンピューター (Privoxy など) の別のプロキシ/リスナーにチェーンすると、データがブラウザーに非常に速く到達するように見えます。誰かがこれに対する答えを持っているなら、私は本当に知りたいです. ありがとう

ところで、これはデータを受信して​​ブラウザに転送するコード {subroutine} の一部です。

 Public Sub ForwardRequest(ByVal Client As TcpClient, ByVal ClientMessage As String)

        Dim Browser As TcpClient = Client
        Dim BrowserStream As NetworkStream = Browser.GetStream
        Dim Server As TcpClient = New TcpClient(IPAddress.Parse("testwebsite.com").ToString, 80)
        Dim ServerStream As NetworkStream = Server.GetStream

        ServerStream.Write(Encoding.ASCII.GetBytes(ClientMessage), 0, Encoding.ASCII.GetBytes(ClientMessage).Length)

        Dim Buffer(1024) As Byte
        Dim ReceivedInt As Integer

        Do
            ReceivedInt = ServerStream.Read(Buffer, 0, Buffer.Length)
            BrowserStream.Write(Buffer, 0, ReceivedInt)
        Loop While (ReceivedInt > 0)

        BrowserStream.Flush() 'I read somewhere that this does nothing though
        BrowserStream.Close()
        Browser.Close()
        ServerStream.Close()
        Server.Close()

    End Sub
4

1 に答える 1

0

「謎」を自分で解決することができましたAsynchronous Sockets。ソケットを使用することにしました。すべてがうまく機能し始めました。ありがとう。

于 2012-04-27T04:09:54.210 に答える