两个TCP流之间的镜像数据-VB.NET
几天来,我一直在vb.net中创建一个透明的代理应用程序。直到现在一切都很顺利。。我很难找到将数据从客户端镜像到服务器的最佳方法,反之亦然 我试过多种不同的方法。这是我的最新作品。到目前为止,它工作得最好,但页面从未完成加载两个TCP流之间的镜像数据-VB.NET,.net,vb.net,http,networking,proxy,.net,Vb.net,Http,Networking,Proxy,几天来,我一直在vb.net中创建一个透明的代理应用程序。直到现在一切都很顺利。。我很难找到将数据从客户端镜像到服务器的最佳方法,反之亦然 我试过多种不同的方法。这是我的最新作品。到目前为止,它工作得最好,但页面从未完成加载 Do Until NeedToClose = True If client.Connected = True Then If client.GetStream.DataAvailabl
Do Until NeedToClose = True
If client.Connected = True Then
If client.GetStream.DataAvailable = True Then
Dim buffer(client.ReceiveBufferSize) As Byte
Dim length As Integer
Try
length = client.GetStream.Read(buffer, 0, buffer.Length) 'fills buffer with request
server.GetStream.Write(buffer, 0, length)
Catch ex As Exception
End Try
End If
If server.Connected = False Then
'client is holding connection open. server has already disconnected
stopWorker()
End If
If server.Connected = True Then
If server.GetStream.DataAvailable = True Then
Dim buffer(server.ReceiveBufferSize) As Byte
Dim length As Integer
Try
length = server.GetStream.Read(buffer, 0, buffer.Length) 'fills buffer with request
client.GetStream.Write(buffer, 0, length)
Catch ex As Exception
End Try
End If
If client.Connected = False Then
'server is holding connection open. client has already disconnected
stopWorker()
End If
End If
End If
If client.Connected = False And server.Connected = False Then
stopWorker()
End If
Loop
可能不是实现这一目标的最佳方式。Try..Catch只是一个断点。我已经从客户端接收到连接,拉出主机属性,并连接到服务器。然后,我将从客户端收到的第一个请求发送到服务器。然后,您在上面看到的代码启动并开始转发请求和回复
有更好的方法吗?为什么页面无法完全加载?
谢谢! 事实证明,我上面发布的代码运行得非常好。我把这个问题追溯到程序其他部分的一些糟糕的多线程处理。一旦我解决了这个问题,页面开始加载 我还是很好奇。是否有更好或更快的方法在两个流之间传递数据