나는 해결해야 할 새로운 문제로 인해 필자에게 편지를 쓰고 있으며 지금은 너무 오랫동안 벽에 머리를 두드렸다.C에서 무겁게 제한된 서버 검색 응용 프로그램 만들기 #
는 기본적으로, 나는 다음과 같은 처리 갈 수 있고 응용 프로그램을 작성해야합니다 :
이는 사용자가 서브넷으로 브로드 캐스트를 전송 응용 프로그램을 시작을하고, 자신의 IP와 거기에 모든 서버의 응답을 (접수에 및 몇 가지 추가 정보). 그러면 사용자는 연결할 서버를 선택할 수 있습니다.
서브넷을 식별하고 UDP로 브로드 캐스팅 한 다음 다른 서버 응용 프로그램에서 수신하고 응답을 보내면 작업이 간단 해집니다. 우리는 응용 프로그램이 모든 시스템에 존재하는 것으로 가정 할 수 있음을 의미
- 가능성도있을 것입니다 클라이언트를 네트워크에서 서버 시스템에서 : 문제는 내가 고려해야 할 필요가 이러한 제한으로 자리 잡고 있습니다. 모든 시스템은 리스너를 실행해야하며 모든 시스템은 서버를 선택하기 위해 GUI를 시작할 수 있습니다.
- 방화벽에 하나의 예외 만 추가 할 수 있습니다. 예외는 브로드 캐스트 전송, 브로드 캐스트 수신, 응답 보내기 및 응답 수신을 모두 처리합니다.
- 서버 컴퓨터에 하나의 Windows 서비스
- 만 추가해야하는 경우 수신기는 Windows 서비스로 실행되어야하므로 사용자는이를 인식하지 못합니다. 또한 사용자는 응답이 클라이언트에 다시 전송된다는 것을 알리지 않습니다.
- 클라이언트 컴퓨터에서 사용자는 응용 프로그램을 시작하여 응용 프로그램에 브로드 캐스트를 내보내도록 알리고 모든 서버 응답을 가져와 사용자가 연결할 서버를 선택할 수 있습니다.
- 사용자가 서버를 선택하기 위해 실행하는 응용 프로그램 외에도 사용자와의 상호 작용이 없어야합니다. 트래픽을 허용하도록 사용자에게 요청조차 팝업은 방화벽 물마루 - 모든해야 자동으로 그것은 내가하지
- 은 내가 방화벽 예외 목록에 추가하는 것이, 하나의 응용 프로그램으로 모든 것을 할 경우, 그래서 알아서합니다 : 난 그냥 그것을 할 방법을 강구해야 - 나는 몇 가지 아이디어를 가지고 서버와 클라이언트 컴퓨터 모두의 트래픽?
- 방화벽에 사용자 정의 예외를 추가하고 특정 포트에서 UDP 트래픽을 허용 한 다음 모든 트래픽 흐름을 차단해야합니까?
- 세 번째로 더 나은 관리 옵션이 있습니까?
- 클라이언트 컴퓨터와 서버 컴퓨터 모두에서 서비스를 실행하는 것이 좋습니다. 그러나 그것은 나를 위해 모든 것을 다룰 수 있습니까? 방송 송/수신 및 응답 보내기/수신을 모두 처리하는 것과 같은 것입니까? 그리고 서비스에서 네트워크상의 서버에 대한 정보를 추출 할 수있는 방법이 있습니까?
저는 그것이 많이 있다는 것을 알고 있지만, 정말로 당신이 나를 도울 수 있기를 바랍니다.
내가 충분히 명확하지 않거나 추가 설명이 필요하면 알려주세요.
저는 C# .Net으로 코딩하고 있습니다. .NET 프레임 워크에서 원하는 모든 것을 활용할 수 있습니다. 최대한 빨리이 기능이
을 구현 한 모든 최고의/SAGI
답장을 보내 주셔서 감사합니다. – Sagi1981
사실, UPnP에서 검색에 사용되는 SSDP 프로토콜은 System.Net.PeerToPeer 네임 스페이스에 구현 된 PNRP에서 지원하는 것과 동일합니다. , 그래서 꽤 잘 작동해야하며 방화벽에서 UPnP 예외를 사용하면 방화벽에서도 작동해야합니다. – Lucero
다른 답변에 대한 내 의견을 보면. UPnP도 PeerToPeer를 활성화해야하며 보안 위험이 있습니까? – Sagi1981