2010-03-15 5 views
6

WCF 바이너리 오버 TCP 옵션은 인트라넷 또는 인터넷에만 적용 가능합니까?WCF (바이너리 오버 TCP 포함)

인트라넷에만 TCP가 적용됩니까?

+0

TCP로 전환하여 * 수행하고자하는 것은 무엇입니까? 구멍을 열 필요가없는 다른 옵션 (더 나은 옵션 일 수도 있음)이있을 수 있습니다. –

+0

@Marc - 나는 단지 사용 가능한 옵션을 이해하고 탐색하려고합니다. 나는 HTTP를 알고 있고 사용 해왔다. 다른 옵션 (현재는 TCP)과 장단점을 알고 싶어합니다. – user274915

답변

2

답변은 다음과 같습니다. 내가 아는 한, WCF의 바이너리 인코딩은 양 종단점이 WCF 종점 (현재 Mono가 바이너리 인코딩을 지원하지 않는 한 Windows로 제한 할 것입니다)이 필요합니다. 다른 문제는 원격 서버가 수신 대기중인 포트에 도달 할 수 있는지 여부입니다. HTTP를 통해 서비스를 실행하는 이유 중 하나는 포트 80이 훨씬 더 개방적이라는 것입니다.

+0

+1 이론 상으로는 잘 작동해야하지만 HTTP가 아닌 TCP이기 때문에 방화벽 문제가 예상되며 다른 쪽에서는 바이너리 인코딩과 동일한 tcp/ip 바인딩을 사용해야하므로 제어 할 경우에만 유용합니다. 통신의 양쪽 끝. –

+0

감사합니다. 따라서 434 번 포트를 열면 TCP를 통해 인터넷에 연결할 수 있습니까? 또는 클라이언트와 함께 VPN 터널을 설정해야합니까? – user274915

+0

@ jobless-spt - 원격 포트에 액세스하기 위해 수행해야하는 작업은 네트워크의 보안 구성에 따라 크게 다릅니다. IT/Sec 사람들과 대화를 나누어보아야합니다. 그러나 보안 사용자는 외부 네트워크에 추가 포트를 노출하는 것을 매우 꺼리게됩니다. 그렇지 않다면 새로운 보안 인력이 필요할 수도 있습니다. –

3

시리얼 라이저와 전송은 크게 관련이 없습니다. 일반적인 시나리오에 대해 사전 구성된 바인딩이 있지만, 이진 시리얼 라이저 (NetDataContractSerializer)를 모든 전송 장치에 연결할 수 있다는 점을 이해합니다. 또는 직접 작성하십시오 .-p

그러나 다른 전송은 일반 HTTP보다 구성이 까다로울 수 있습니다 (방화벽 등).

See here은 - '나는 당신을 의심하지 너무 많은 전송 (


다시 주석 (나는 속도 이의를 제기 할 비록 내가 NetDataContractSerializer을 본 적이 때 ...에를 쳤다) http로 머무르는 것이 가장 좋습니다). 그러나 thisthis을 고려하십시오. 대체 바이너리 시리얼 화기. 일부 유형의 메시지 전송에 적합합니다. 그리고 MTOM (http 이상)도 훌륭하게 재생됩니다.

+0

감사합니다. HTTP 이외의 프로토콜에 대한 제한 사항에 대해 제공 할 수있는 참조가 있습니까? 인터넷을 통해 다른 프로토콜을 사용할 수 있는지 여부를 이해해야합니다. 가능한 경우, 포트를 여는 데 무엇이 필요합니까 (개방 포트 등)? – user274915

+0

@ jobless-spt : 일부 링크를 추가했습니다. –

+0

+1, HTTP를 통한 바이너리는 좋은 절충안입니다. IIS에서 서비스를 호스트 할 수있는 기능을 보유하고 있습니다 (마지막으로 내 자신의 WCF 호스트 작성을 귀찮게 할 수는 없지만). 방화벽 친화적입니다. 청크를 스트리밍하거나 자주 채팅하지 않는 경우 HTTP 오버 헤드가 매우 낮을 수 있습니다. – Josh

관련 문제