2011-12-07 4 views
2

특정 요구 사항으로 인해 동일한 Windows 2008 서버에서 IIS와 공존하기 위해 포트 443 (어쩌면 80)에서 수신 대기하는 서비스가 필요합니다. IIS와 포트 80을 공유하는 Windows Service Hosted WCF 서비스를 가질 수는 있지만 이것이 C++ 서비스에서 가능한지 궁금합니다. this, thisthis과 같은 유사한 질문에 대한 답변을 읽었지만 적절한 답이 없습니다.IIS와 C++ 서비스간에 포트 443 공유

+0

질문을 이해할 수 없습니다 : 어떤 요청이 특정 요청에 회신합니까? – curiousguy

+0

프로세스 선택 방법을 잘 모르겠습니다. 하지만 Net.Tcp Port Sharing에서이 작업을 수행하는 방법과 다른 WCF가 아닌 다른 서비스에서이 기능을 사용할 수 있는지 배우고 싶습니다. –

+0

"Net.Tcp Port Sharing"이 무엇인지 알지 못해서 당신에게 중요한 점을 이해하지 못합니다. 당신의 사양은 무엇입니까? 너 정말로 뭘 하려구? "Net.Tcp Port Sharing"을 에뮬레이트하려고합니까? – curiousguy

답변

2

하나의 응용 프로그램 만 IP 주소/포트 번호 쌍에 바인딩 될 수 있습니다. 소켓이 INADDR_ANY 및 일부 포트에 바인딩되어 있으면 다른 응용 프로그램이 해당 포트에 바인딩되지 않습니다.

두 응용 프로그램이 포트에서 데이터를 수신하도록하려면 다른 포트 또는 프록시 서버가 연결되는 주소에서 다른 프로그램이 수신하는 동안 실제 포트에서 수신 대기하는 종류의 프록시가 필요합니다.

프록시 사용은 WCF가 포트 공유를 처리하는 방식 인 것 같습니다. this 링크에서 견적 :

바인딩 net.tcp합니다 ( 전송 바인딩 요소 portSharingEnabled = true를 설정함으로써) 포트 공유를 가능하면 내재적 호스팅 외부 처리 (즉 SMSvcHost.exe을 허용 Net.TCP 포트 공유 서비스)를 사용하여 의 TCP 소켓을 관리합니다.

+0

WCF가 C++에서 수행하는 작업을 구현할 수있는 방법이 있습니까? IIS 나 OS 자체를 프록시로 사용하는 것일까 요? –

+1

직접 프록시를 구현해야합니다. –

+0

@ RemyLebeau-TeamB하지만 프록시가 무엇을 할 것인지 명확하지 않습니다. 두 서버에 문의 하시겠습니까? 또는 단지 하나? 어느 것? 무작위? – curiousguy

관련 문제