Zdaję sobie sprawę, że to pytanie jest podobne: tosomeothers, ale doszedłem do wniosku, że moja sytuacja jest wystarczająco odmienna, aby uzasadnić własne pytanie (miejmy nadzieję).Nawiąż połączenie P2P w języku C#
Planuję wdrażanie programu na komputerze innej osoby, który otworzy połączenie z moim komputerem, po czym, zakładam, komputery powinny być w stanie komunikować się ze sobą. Po uruchomieniu programu powinno być możliwe pobranie informacji o adresie i porcie (jeśli nie są zablokowane) w celu utworzenia połączenia, prawda?
Co więcej, konfiguracja internetowa akademika w którym mieszkam. Każdemu pokojowi przypisany jest unikalny port i statyczny adres IP przydzielony przez serwer DHCP. Jak mogę to uwzględnić w projekcie mojego programu?
Myślę, że ta konfiguracja nie wymaga serwera jako pośredniego punktu dostępu, ponieważ moje dane adresowe zawsze pozostaną takie same, a komputer-host może po prostu połączyć się z moim komputerem bez dodatkowych informacji. Czy to jest poprawne?
Wreszcie, czytam kilka stron o tworzeniu połączenia, ale jestem mylony ze wszystkimi możliwościami TcpConnection, WCF, CORBA itp. Który z nich byłby najprostszy dla mnie, zaczynając od założenia, że chcę tylko wysłać wiadomości do drugiego komputera?
Aktualizacja:
adres jest statyczny w tym sensie, że nie zmienia się. Mój adres IP ma postać 130.83.20.xxx i mogę poczekać, aż serwer DHCP przydzieli mi ten adres, lub mogę ręcznie wprowadzić go przy użyciu statycznej konfiguracji IP.
Jeśli chodzi o same wiadomości, na początek wystarczą zwykłe wiadomości tekstowe. Wspomniane wcześniej porty są portami przełączników i nie wchodzą w grę podczas programowania sieciowego.
Aby Cię poprowadzić, musimy dowiedzieć się więcej o Twoim celu. W zależności od charakteru danych, które należy wysłać, TcpConnection może być dobry, ale może wtedy prosta usługa WCF byłaby lepsza. Nie rozumiem, o co ci chodzi, kiedy mówisz, że do każdego pokoju przypisany jest port i statyczny adres IP ... masz na myśli fizyczny port, jeśli tak, to nie wchodzi w grę podczas programowania sieciowego. Porty TCP/UDP są jednak ważne. Będziesz potrzebował portów, które są dostępne do Twojego użytku. – Nate
@Nate: Dzięki za heads up. Na razie chcę tylko przetestować ten program na komputerze przyjaciela i myślę, że proste wiadomości tekstowe, takie jak "Cześć, jak się masz?" powinno być dobrze. Na przykład mój adres IP to 130.83.20.103 lub coś w tym stylu. To się nie zmienia. Serwer DHCP przypisuje mi ten adres lub mogę go wprowadzić ręcznie. Każdy pokój ma port, który może być blokowany przez centralną administrację IT. Są to chyba porty przełączników. – IAE
Jeśli serwer DHCP może przypisać ci adres IP '130.83.20.103', nie powinieneś ręcznie konfigurować siebie, aby mieć ten adres IP. Jeśli tak zrobisz, a serwer DHCP przydzieli ten adres innej osobie, skończy się to konfliktem adresu IP, a także skutecznym atakiem typu "odmowa usługi" skierowanym przeciwko biednemu frajerowi, któremu przydzielono ten adres IP przez serwer DHCP. – Justin