我正在使用使用HTTP的客户端/服务器应用程序,我的目标是为其添加新功能。我可以通过将自己的代码挂钩到某些特定事件来扩展客户端,但遗憾的是服务器无法自定义。客户端和服务器都在Windows环境中。
我目前的问题是,当从服务器收到大量数据时,性能很糟糕:传输它需要时间,处理它需要时间。解决方案可能是让服务器端的应用程序进行处理并仅发送结果(这要小得多)。问题是在发送服务器之前没有内置函数来操纵服务器的响应。
我正在考虑收听端口80上的所有流量,识别相关的HTTP响应并将其发送到我的应用程序,同时阻止响应(以避免发送不会被客户端处理的大量数据)。由于我缺乏很多网络知识,在考虑如何做到这一点时我有点迷失。
我看过一些像WinPCap这样的低级数据包拦截方法,但似乎需要做很多工作来完成我需要的工作。此外,我认为使用此API阻止或修改响应是不可能的。
允许用户脚本由特定请求或响应触发的反向代理将是完美的,但我想知道是否有更简单的方法来执行此拦截/发送其他工作。
启用此行为的最简单,最干净的方法是什么?
谢谢!
答案 0 :(得分:1)
我结束了制作一个简单的反向代理来访问HTTP服务器。然后,反向代理从服务器响应中提取相关信息并将其发送到服务器端处理组件,并用客户端用来请求其他组件获取处理结果的ID替换从响应中提取的信息。 http://www.codeproject.com/KB/web-security/HTTPReverseProxy.aspx上的文章对于制作反向代理的初稿非常有帮助。
答案 1 :(得分:0)