2011-06-14 3 views
2

많은 클라이언트를 지원해야하는 서버를 작성하고 있습니다. 트래픽은 http가 아니라 TCP의 일부 독점 프로토콜입니다. IIS 및 Apache와 같은 상용 웹 서버에 익숙하지 않습니다. 누구든지 "확장"일종의 이러한 플랫폼 중 하나의 상단에 실행할 수 있도록 쓸 수 있기 때문에 내가 소켓에 대한 논리를 쓸 필요가 없다고 말해 줄 수 있습니까? 아니면 IIS 나 Apache가 아닌 다른 방법으로 더 잘 수행 할 수 있습니까?http가 아닌 서버

내 서버는 일반적으로 웹 서비스 (요청을 받고, db를 쿼리하고, 응답을 보냅니다)로 작동하지만 클라이언트 소켓에 연결되어 있고 해당 소켓의 지정된 간격으로 업데이트를 보내는 시나리오가 하나 있습니다.

서버의 일반 논리없이 내 논리를 작성하면되는 방식으로이 방법을 사용하는 것이 타당한 것처럼 보입니다. 어떤 아이디어?

감사합니다.

+0

사용하려는 언어는 무엇입니까? 소켓 코드는 너무 힘들지 않고 대부분의 언어에 대해 많은 샘플이 있습니다. IIS 또는 Apache 프로세스의 모든 백본을 원하지 않는다면 Java, PHP, C++ 등에서 요구하는 것을 수행 할 수있는 매우 가볍고 빠른 코드를 작성할 수 있습니다. – ethrbunny

+0

"별로 익숙하지 않습니다. IIS와 아파치와 같은 상업용 웹 서버와 함께 "아파치는 상용 웹 서버가 아니라 비영리 법인 (아파치 소프트웨어 재단)이 주도하는 오픈 소스 프로젝트 다. – regilero

답변

3

좋은 질문과 기존 웹 서버를 활용하는 것도 좋은 방법입니다. 확장 성 및 안정성을 효과적으로 얻을 수 있습니다. 나는 이것을 한 번도 해 본 적이 없지만, IIS에서 완전히 가능해야합니다 (v7 +를 권장합니다. 더 쉽게 만듭니다).

관리 도구를 통해 새 웹 사이트를 설정하고 수신 대기 포트를 할당 할 수 있습니다.이 비트는 매우 간단합니다. 바인딩 유형net.tcp (새 웹 사이트를 추가하는 대화 상자의 드롭 다운으로, 놓치지 마세요)로 설정해야합니다.

그런 다음 모듈이나 처리기를 사용하여 나머지 사용자 지정 기능을 구현할 수 있습니다. 이 기사 Developing IIS 7.0 Modules and Handlers with the .NET Framework는 주제에 대한 좋은 소개입니다. 대부분의 doco는 HTTP 프로토콜에 중점을두고 있지만 TCP 및/또는 net.tcp (IIS 및 Apache는 서버이고 웹은이므로 동의어 http). 당신은 당신의 접근 방식을 변경하는 것을 고려하고,이 함께 사용 IIS의 혜택을받을하는 net.tcp WCF service의 유연성을 그것을 할 수있다, 또는 Configure Request-Processing for a Web Server (IIS 7)

: 도움이 될 수있는 또 다른 자원이있다 choosing the protocol (정적으로 구성 할 수 있고 컴파일 할 필요가 없음) 처리기 또는 모듈을 작성할 필요가 없습니다.

관련 문제