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

[SFML Network Udp] Łączenie z publicznym Ip

Ostatnio zmodyfikowano 2017-03-24 16:32
Autor Wiadomość
krainamodu
Temat założony przez niniejszego użytkownika
[SFML Network Udp] Łączenie z publicznym Ip
» 2017-02-15 20:39:06
Cześć,
Chciałbym napisać program który by wysyłał dane do innego programu w innej sieci używając Sfml/Network protokołem UDP. Problem: wiadomości nie dochodzą przy użyci publicznego ip.
Kod programu wysyłającego dane:
C/C++
UdpSocket socket;
socket.bind( Socket::AnyPort );
IpAddress receiverIp = IpAddress::getPublicAddress(); //działa dla =IpAddress::getLocalAddress()
char data[ 100 ] = { 'c', 'z', 'e', 's', 'c' };
if( socket.send( data, sizeof( data ), receiverIp, 57150 ) != Socket::Done )
{
    cout << "err1" << endl;
}
else cout << "wyslano" << endl;
Kod programu odbierającego:
C/C++
UdpSocket socket;
unsigned short port = 57150;
socket.bind( port );
IpAddress myIp = IpAddress::getPublicAddress(); //działa dla =IpAddress::getLocalAddress()
char data[ 100 ];
size_t received;

if( socket.receive( data, sizeof( data ), received, myIp, port ) != Socket::Done )
{
    cout << "err2" << endl;
}
else
{
    cout << "otrzymano: " << data << endl;
}
Gdy używam lokalnego ip(IpAddress::getLocalAddress()) to wszystko działa, jednak zależy mi na komunikacji z komputerem poza siecią lokalną. Próbowałem z wyłączonym firewallem.
P-157773
pekfos
» 2017-02-15 21:09:56
Przekierowanie portów zrobiłeś?
P-157774
krainamodu
Temat założony przez niniejszego użytkownika
» 2017-02-16 00:31:03
przekierowałem i działa, dzięki
P-157796
wojtaszek23
» 2017-03-24 16:01:44
Odświeżę temat, mam nadzieję, że nikt mnie nie zlinczuje za brak wiedzy czy coś ;) Co oznacza przekierowanie portów? Najlepiej, gdyby Pan krainamodu zechciał przesłać kod z protokołem przekierowanym, byłbym wdzięczny. Sam obecnie param się z problemem połączenia za pomocą tcpSocket'a i jak na razie udało mi się połączyć między kompami z jednego routera, ale z kolegą, który mieszka parę km ode mnie już nie.
 Żeby nie zaśmiecać miejsca, wkleję linka do ideone: >> https://ideone.com/iko901 << do swojego krótkiego kodu. Chodzi mi jak na razie jedynie o udaną próbę połączenia z komputerem o innym adresie publicznym, niż mój za pomocą protokołu tcpSocket.
P-159328
DejaVu
» 2017-03-24 16:32:26
Chodzi o konfigurację routera, a nie o kod źródłowy.

http://cpp0x.pl/forum/temat/​?id=7494
P-159329
« 1 »
  Strona 1 z 1