Czat internetowy

0

Witam!!

Na stronie www.code-maker.prv.pl znalazlem taki program czat (http://www.kodmaker.obywatel.pl/download/czat.rar) no i polaczylem sie ze swoim komputerem - wszystko dzialalo fajnie, no ale chcialem sie poloczyc z innym komputerem przez internet i pisze ciagle mi "bledny adres".... adres na 100% jest dobry... no ale jaka jest przyczyna bledu?? moze mi ktos powiedziec?

0

może ta osoba jest za ruterem?

0

No to co ja mam w takim przypadku zrobic? Przeciez jakos gg, tlen, wp dziala.... wiec on się łączy z tymi komputerami bo normalnie rozmawiamy.... więc możecie mi powiedzieć jak to zrobić? Masz racje ja jestem za routerem (nie wiem czy ta druga osoba także) no ale gg działa więc na pewno da się to zrobć, pytanie tylko "jak??"

0

Jeżeli 2 osoby są za NAT'em (różnymi) to niewiele możesz zrobić (dlatego, m.in. nie możesz przesyłać między takimi dwoma kompami plików przez gg). A gg, tlen i te inne działają dlatego, że komunikatory nie łączą się ze sobą bezpośrednio, tylko za pomocą serwera, który ma publiczne IP.

0

Czyli wystarczy, że plik serwer.exe umieszcze gdzieś na publicznym IP i będzie ten komunikator dobrze działał, tak? (plik klient.exe nie musi być na publicznym IP)

0

Tak.

0
Krolik napisał(a)

Tak.

Definitywnie "tak"?? :/ . Nie da się tego jakoś tak "ominąć"??

0

Skontaknowałem się z autorem strony internetowej www.code-maker.prv.pl i

Spoon napisał(a)

Da sie ale to malo prakyczne jest:) Musisz poprosic administratora żeby
przekierował jeden wybrany przez ciebie port na twój komputer (bedzie
wiedzial o co chodzi) Wtedy z twoim kompem będzie można sie połączyć z
zewnątrz ale tylko na tym jednym wybranym porcie, inaczej sie niestety
nie da.

No i ten administrator dał mi port 1550, no ale teraz pokazuje mi się komunikat "bind - blad". a ten komunikato pojawia się wtedy gdy:

if ( bind(soc_serwer,(struct sockaddr *)&sin, sizeof sin ) == SOCKET_ERROR )
{
MessageBox(uchwyt,"bind - błąd","błąd",MB_OK);
WSACleanup();
return FALSE;
}

Musze jeszcze dodać, że na wszystkich innych portach ten błąd się nie pojawia....

0

A dodaj przed funkcją bind takie coś:

int so_optval=1;
setsockopt(soc_serwer, SOL_SOCKET, SO_REUSEADDR, &so_optval, sizeof(so_optval) )

0

NIe wyskakuje ten błąd, ale pojawia się "błedny adres"

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0