Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

client-server działający poza siecią lokalną

Ostatnio zmodyfikowano 2015-07-24 15:24
Autor Wiadomość
Nazgul
Temat założony przez niniejszego użytkownika
client-server działający poza siecią lokalną
» 2015-07-20 23:38:30
Witam! zmagam się już całkiem sporo czasu z napisaniem programu - komunikatora. Program ma działać na zasadzie komunikacji client-client (jeden client na początku ustawia się jako server, drugi się z nim łączy), cały program jest napisany, tylko problemem jest połączenie dwóch komputerów, które są poza siecią lokalną(w sieci lokalnej wszystko działa bez zarzutu).

schemat programu:
C/C++
#include "winsock2.h"

// jezeli program ma czekac na polaczenie
WSAStartup( MAKEWORD( 2, 2 ), & wsaData );
socket( AF_INET, SOCK_STREAM, 0 );
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = INADDR_ANY;
clientService.sin_port = htons( 10000 );
bind( socket_,( SOCKADDR * ) & clientService, sizeof( clientService ) );
listen( socket_, 10 );
accept( socket_, NULL, NULL );
// połączenie nawiązane, dalej jest funkcja do napisania wiadomości i do jej wysłania
// oraz dodatkowy wątek odpowiedzialny za odbiór i wypisanie wiadomości w oknie

// jezeli program ma siępołączyć z nasłuchującym serwerem
WSAStartup( MAKEWORD( 2, 2 ), & wsaData );
socket( AF_INET, SOCK_STREAM, 0 );
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = //adres wpisany przez uzytkownika
clientService.sin_port = htons( 10000 );
connect( socket_,( SOCKADDR * ) & clientService, sizeof( clientService ) );
// połączenie nawiązane, dalej jest funkcja do napisania wiadomości i do jej wysłania
// oraz dodatkowy wątek odpowiedzialny za odbiór i wypisanie wiadomości w oknie
Proszę, żeby ktoś nakierował mnie w jaki sposób sprawić, żeby program działał między dwoma komputerami z dwóch końców świata
P-134982
pekfos
» 2015-07-21 14:07:09
Program ma działać na zasadzie komunikacji client-client (jeden client na początku ustawia się jako server, drugi się z nim łączy)
To o wiele za mało.
https://en.wikipedia.org/wiki​/NAT_traversal
https://en.wikipedia.org/wiki​/TCP_hole_punching
P-135000
Chlorek
» 2015-07-22 17:50:08
NAT to pewne zło tego świata wraz z pozytywami (lecz zwykle dostrzegamy te negatywne efekty). Nie korzystałem, ale polecam sprawdzić http://samy.pl/pwnat.
P-135093
Nazgul
Temat założony przez niniejszego użytkownika
» 2015-07-24 15:24:13
Dzięki wielkie, teraz już rozumiem czemu nie działa i wiem co muszę wiedzieć, żeby działało;D
P-135140
« 1 »
  Strona 1 z 1