2012-04-21 11 views
3

Wcf가 소켓을 대체 했습니까? 클라이언트 서버 응용 프로그램의 경우 클라이언트가 서버에 메시지를 보내야하고 서버가 모든 클라이언트의 요청을 기다리지 않고도 동일한 작업을 수행 할 수 있어야합니다. 그래서이 작업을 수행 할 수 있습니까? 아니면 wcf가 클라이언트가 필요로하고 통신이 상호 작용할 수없고 양방향 일 수없는 많은 서비스 만 공개 할 수 있습니까? 감사합니다.소켓 대 Wcf 통신

답변

4

연결을 지속적으로 유지 하시겠습니까? 그렇다면 이것은 WCF에 대한 좋은 사례처럼 들리지 않습니다. 아마도 대신 ZeroMQ 같은 것을 살펴보십시오.

+0

감사합니다. OJ : 내 응용 프로그램은 GPS/GPRS로 추적 단위의 시뮬레이터입니다. 그래서, 내가 단위와 서버 사이의 지속적인 연결이 필요하고 나는 wcf로 이것을 할 의무가있다. 나는 이것을 할 수 있습니까? 아니면 어렵거나 불가능하다고 생각합니까? 모든 조언 –

+2

당신은 WCF로이 작업을 수행 할 수 있지만 작업에 대한 잘못된 도구라고 생각합니다. 기본적인 소켓 추상화가 필요합니다. ZeroMQ는 이런 종류의 일을 정말 잘 처리합니다. 빌드 타임과 런타임에서 WCF의 오버 헤드가 필요 이상으로 고통 스럽습니다. 당신의 경우 추상화는 실제로 당신에게 많은 것을주지 않을 것입니다. 왜 WCF에서이 일을해야하는지 묻고 싶습니다. 건배! –

+0

내 상사는 클라이언트가 소켓을 사용하고 서버가 wcf를 사용하지만 정확히 어떤 이유인지 모르겠다 !!! –

2

Wcf는 절대로 소켓을 대체하지 않습니다. WCF는 TCP를 통해 몇 가지 구체적인 프로토콜을 구현하므로 IP 나 UDP와 같은 다른 것이 필요할 경우에도 소켓을 사용해야합니다.

안정적인 TCP 연결이 필요한 경우 여전히 소켓이 필요합니다. 또한이 토론이 도움이 될 수 있습니다. http://forums.silverlight.net/t/17502.aspx/2/10

+0

하지만 wcf의 통신 이중 채널과 같은 것을 읽었습니다 !!! –

+0

예 듀플렉스 채널은 사실 두 배의 TCP 연결이므로 데이터를 게시하기위한 두 개의 연결과 내가 언급 한 링크를 읽는 서버로부터 다른 하나의 연결을받는 것입니다. – AlexTheo

+0

감사합니다 AlexTheo –