Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Programowanie sieciowe


Rekomendowane odpowiedzi

Uczeń
Opublikowano

Witam,

niedawno zacząłem naukę programowania sieciowego z wykorzystaniem WinSock w C++ pod Windowsa. Moim początkowym celem jest napisanie prostego komunikatora który umożliwia rozmowę dwóch osób na konsoli. Programy serwer-klient działają poprawnie, jeśli korzystam z wewnętrznego IP na jednym komputerze w jednej sieci. Kiedy zaś serwer uruchamiam u siebie, a klienta uruchamia kolega u siebie w innej sieci, połączenie nie jest nawiązywane. Dodam że port jest poprawnie odblokowany, wyłączyłem zaporę, antywirusa.

 

Potem zamieniliśmy się miejscami, kolega odblokował port, ustawiliśmy IP pod niego, on uruchomił serwer a ja klienta i zadziałało poprawnie.

 

Jeżeli chodzi o sieć, to moja wiedza o tym jest jeszcze uboga, wie ktoś co może być przyczyną?

Może podesłać kody źródłowe programów?

Czy to jest dobry dział na to pytanie?

 

Z góry dziękuję za odpowiedzi,

Pozdrawiam

Opublikowano

No wychodzi na to, że twój adres nie jest widziany z zewnątrz. Odblokuj sobie porty, wyłącz firewalla i zobacz czy kolega może cie pingować. Oczywiście takie coś sprowadzi ci na łeb chińskie boty skanujące internet w poszukiwaniu otwartych portów więc coś za coś.

RAsfepN.png
Uczeń
Opublikowano

Jak uruchamiam exe to wyskakuje mi błąd połączenia (przy funkcji connect() ). Info o zamkniętym porcie mam ze strony http://www.canyouseeme.org/

Wewnętrzne ip dokładnie tak się zaczyna. Ustawiłem je jako statyczne dla mojego komputera.

 

Wygląda to tak, serwer posiada port i wewnętrzne IP i nasłuchuje czy ktoś chce się z nim połączyć. Klient posiada również port i zewnętrzne ip. Wywołuje funkcję connect(), po czym dostaję błąd że nie udało się nawiązać połączenia. Serwer w tym czasie nadal nasłuchuje, nie zauważył że ktoś próbował się połączyć.

Opublikowano

A moze nie masz "wlasnego" (nie wiem jak sie to prefesjonalnie nazywa) adresu ip? Stawiales kiedys strone badz jakiakolwiek inna usluge na kompie? Jesli tak, i dzialala, to znaczy ze i serwer bedzie dzialac

Opublikowano

1. Dowiedz się od swojego ISP czy przydziela Ci IP zewnętrzne lub czy istnieje możliwość przekierowania portu.

2. Jeśli masz router to upewnij się, że przekierowałeś port na Twój PC.

YOU MUST DIE

- Ganon, Koridai

Uczeń
Opublikowano

Port przekierowany. Jutro zadzwonię do dostawcy i zapytam. Dzięki za odpowiedzi :)

 

Edit: Okazało się że to dostawca blokuje te porty, już wszystko działa. Dzięki za pomoc, można zamknąć temat

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...