문제

.Net Remoting과 통신하는 클라이언트/서버 응용 프로그램이 있습니다.클라이언트측 구성 없이도 클라이언트가 네트워크에서 서버를 찾을 수 있도록 해야 합니다.

제가 아는 한, 원격 검색은 지원되지 않습니다.클라이언트가 브로드캐스트 메시지를 통해 서버를 찾을 수 있는 UDP 솔루션을 구현할 준비가 되었습니다.

계속하기 전에 집단적인 SO 지혜를 듣고 싶습니다.이것이 최선의 방법입니까?다른 제안이 있나요?

도움이 되었습니까?

해결책

이러한 유형의 기능에 대해 SSDP와 UPnP를 모두 살펴봤지만 맞춤형 UDP를 사용하는 것이 좋습니다. 멀티캐스트 해결책.기본적으로 멀티캐스트는 브로드캐스트와 매우 유사하지만 멀티캐스트 그룹에 가입한 시스템(예:방송 요청)에게 연락을 드렸습니다.

IMHO, SSDP 및 UPnP는 리소스 검색이 너무 부풀고 지나치게 복잡합니다.하지만 이봐, 그건 표준이야.;)

다른 팁

당신에게 필요한 것은 다음과 같습니다 단순 서비스 검색 프로토콜 또는 SSDP.이는 Microsoft 지원의 일부로 Windows에서 구현됩니다. 범용 플러그 앤 플레이.이는 업계 표준 프로토콜이므로 좋은 선택인 것 같습니다.예를 들어, 방화벽이나 기타 문제를 처리하려는 경우 자체 솔루션을 출시하는 대신 다른 사람이 이를 파악했을 것입니다.

.NET에 대해 이야기하고 있으므로 Windows를 사용하고 있다고 가정하겠습니다.C 스타일 API와 Windows용 COM API를 설명하는 다소 오래된 문서(2001)가 있습니다. 범용 플러그 앤 플레이(UPnP) 클라이언트 지원.COM API는 UPNP.DLL에 의해 노출되고 SSDP용 C 스타일 API는 SSDPAPI.DLL에 의해 노출됩니다.

그만큼 UPNP용 COM 스타일 API 아마도 최선의 방법 일 것입니다.C#은 COM 개체를 래핑하고 상호 운용성을 처리할 수 있기 때문입니다.이 API가 기본적으로 C# 또는 .NET Framework로 이식된 곳을 찾을 수 없습니다.

Apple의 제품을 고려해 볼 수도 있습니다. 봉쥬르, 이는 그들의 Zeroconf 구현.Mac, PC, Linux/BSD에서 사용할 수 있습니다.

원격 작업에서 찾은 최고의 솔루션은 클라이언트 시스템의 구성 파일에 서버 목록을 유지하고 업데이트할 수 있도록 만드는 것이었습니다.유지 관리가 가장 쉽지는 않았지만 빠르고 방송이 없었습니다.

내 멀티캐스트 UDP 솔루션은 최근 MS 업데이트로 인해 신뢰할 수 없는 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top