내 Winforms 클라이언트/서버 응용 프로그램은 UDP 멀티 캐스트를 사용하여 모든 클라이언트를 실시간으로 업데이트합니다. 서버는 알려진 UDP 싱크에 이벤트를 발생시키고 각 클라이언트는 System.Net.Sockets.UdpClient 클래스의 인스턴스를 사용하여 이벤트를 수신합니다.클라이언트/서버 이벤트 처리 : UdpClient 대안?
훌륭한 결과를 얻을 수 있습니다. 각 클라이언트에는 TCP를 통해 동기화 호출을하고 TCP가 비동기 작업을 처리하는 원격 객체가 있으므로 클라이언트는 상태 비 저장됩니다. 그러나 우리 고객의 대부분은 UDP를 여러 가지 방법으로 비활성화했습니다. 일부는 멀티 캐스팅을 비활성화하고, 일부는 UDP를 비활성화하고, 일부는 의도적으로 비활성화하고, 다른 일부는 우발적으로 비활성화합니다. 내가 원하는 것보다 더 많은 네트워크 관리를 끝내게된다.
다른 선택은 서버가 클라이언트 연결을 관리하고 TCP를 통해 이벤트를 보내는 것입니다. 그러나 이것은 상태 유지 서버가 필요하며 매우 매력적이지 않습니다. 우수한 대안이 있습니까?