非http服务器

时间:2011-06-14 23:17:07

标签: apache iis

我正在编写一台需要为许多客户提供服务的服务器。流量不是http(而是TCP之上的一些专有协议)。我对IIS和Apache等商业Web服务器不是很熟悉。任何人都可以告诉我是否有可能在其中一个平台上运行某种“扩展”,以便我不必为套接字编写逻辑?或者也许有另一种方式(不是IIS或Apache)这样做更好吗?

我的服务器通常表现为Web服务(获取请求,查询db,发送响应)但是有一种情况,它保持连接到客户端套接字并在该套接字上以给定间隔发送更新。 / p>

以某种方式执行此操作似乎是合理的,我只需要在没有服务器的一般逻辑的情况下编写逻辑。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:3)

很好的问题,它也很好地利用现有的Web服务器 - 您可以免费获得可扩展性和稳定性。 我自己从来没有这样做过,但它应该完全可以在IIS中使用(我建议使用v7 +,这样会更容易)。

您可以通过管理工具设置一个新网站,并为其分配一个监听端口 - 这一点非常简单。您应该将其绑定类型设置为net.tcp(这是添加新网站的对话框中的下拉列表,您不能错过它。)

然后,您可以使用模块或处理程序来实现其余的自定义功能。本文 Developing IIS 7.0 Modules and Handlers with the .NET Framework 是该主题的一个很好的介绍。大多数关于编写自定义处理程序和模块的doco都专注于HTTP协议,但是有一些代码片段可以用于TCP和/或net.tcp(因为IIS和Apache是​​ web 服务器,和 web http 同义。另一个可能有用的资源是: Configure Request-Processing for a Web Server (IIS 7)

或者,您可以考虑更改您的方法,并将其作为net.tcp WCF service 执行,这样您就可以获得使用IIS的好处, {{的灵活性3}} (可以静态配置,不需要编译),也不必编写处理程序或模块。