0

我正在使用使用 HTTP 的客户端/服务器应用程序,我的目标是为其添加新功能。我可以通过将自己的代码挂钩到某些特定事件来扩展客户端,但不幸的是,服务器不可定制。客户端和服务器都在 Windows 环境中。

我目前的问题是,当从服务器接收到大量数据时,性能很糟糕:传输数据需要时间,处理数据需要时间。解决方案可能是在服务器端有一个应用程序来进行处理并只发送结果(要小得多)。问题是在发送响应之前没有内置函数来处理来自服务器的响应。

我正在考虑监听端口 80 上的所有流量,识别相关的 HTTP 响应并将它们发送到我的应用程序,同时阻止响应(以避免发送不会被客户端处理的大量数据)。由于我缺乏很多网络知识,在思考如何做时我有点迷茫。

我看了一些像 WinPCap 这样的低级数据包拦截方法,但似乎需要做很多工作才能完成我需要的工作。此外,我认为无法使用此 API 阻止或修改响应。

允许用户脚本由特定请求或响应触发的反向代理将是完美的,但我想知道是否没有更简单的方法来执行此拦截/发送其他工作。

启用此行为的最简单和最干净的方法是什么?

谢谢!

4

2 回答 2

1

我最终制作了一个简单的反向代理来访问 HTTP 服务器。然后,反向代理从服务器响应中提取相关信息并将其发送到服务器端处理组件,并将从响应中提取的信息替换为客户端用来请求其他组件获取处理结果的ID。http://www.codeproject.com/KB/web-security/HTTPReverseProxy.aspx
上 的文章对制作反向代理的初稿很有帮助。

于 2010-11-17T08:31:32.640 回答
0

嗯......太多的选择。2个想法:在所有客户端上配置一个Http Proxy。那里有一些,可以让你操纵双向(使用脚本,插件)。或通过项目,侦听端口 80,并将所需的东西转发到端口 8080(您的原始服务器应用程序运行的地方)

问题是,服务器应用程序运行在什么软件上,你有什么知识(开发)?啊。什么是“海量数据”?千字节?兆字节?技嘉?

于 2010-07-05T15:10:02.660 回答