在IIS和C ++服务之间共享端口443

时间:2011-12-07 05:40:20

标签: c++ sockets iis tcp network-programming

由于某种要求,我需要在端口443(可能是80)上监听服务,以便在同一台Windows 2008服务器上与IIS共存。它可以有一个Windows服务托管WCF服务与IIS共享端口80,但我想知道这是否可以在C ++服务中做?我已经阅读了类似thisthisthis等类似问题的答案,但我仍然没有得到合适的答案。

1 个答案:

答案 0 :(得分:2)

只有一个应用程序可以绑定到ip-address / port-number对。如果套接字绑定到INADDR_ANY和某个端口,则没有其他应用程序绑定到该端口。

如果您希望两个应用程序在端口上接收数据,则需要某种代理来侦听实际端口,而其他程序则侦听代理服务器连接的其他端口或地址。

使用代理似乎是WCF处理端口共享的方式。引自this链接:

  

当net.tcp绑定启用端口共享时(通过在。上设置portSharingEnabled = true)   传输绑定元素),它隐含地允许外部进程(即   SMSvcHost.exe,它承载Net.TCP端口共享服务)来管理TCP套接字   代表。