サーバー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