[SFML] Socket connect Timeout
Ostatnio zmodyfikowano 2016-02-08 21:16
Merulo Temat założony przez niniejszego użytkownika |
[SFML] Socket connect Timeout » 2016-02-05 12:34:17 Witam, mam taki (okrojony) kod: Serwer sf::TcpListener listener; listener.listen( 1234 ); sf::TcpSocket client; listener.accept( client ); cout << "Polaczenie utworzone" << endl;
Klient sf::Time Timeout = sf::seconds( 1 ); sf::TcpSocket socket; socket.connect( 192.168.1.101, 1234, Timeout );
I problem jest taki, że połączenia nie ma. Gdy usunę "Timeout" to wszystko śmiga... Ustawienie tam Time::Zero sprawia że wszystko działa. Problem jest taki że Time::Zero jest domyślnie za długie |
|
Łakasabasz |
» 2016-02-05 13:12:40 Serwer i klient są na tym samym komputerze? |
|
Merulo Temat założony przez niniejszego użytkownika |
» 2016-02-05 13:23:29 Są w tej samej sieci. A połączenia bez Timeout śmigają. Zaraz zobaczę jak to wygląda z IP 127.0.0.1
EDIT na tym samym komputerze też nici |
|
Łakasabasz |
» 2016-02-05 13:46:18 Spróbuj dać więcej czasu na połączenie i zamiast robić zmienną daj sf::second od razu do funkcji. |
|
Merulo Temat założony przez niniejszego użytkownika |
» 2016-02-05 14:09:29 Wciąż nic, dałem 10s socket.connect( "127.0.0.1", 1234, sf::seconds( 10 ) );
|
|
jankowalski25 |
» 2016-02-05 19:14:26 Sprawdź, ile czasu zajmuje nawiązanie połączenia, gdy używasz sf::Time::Zero . |
|
Merulo Temat założony przez niniejszego użytkownika |
» 2016-02-05 19:50:59 Jeśli chodzi o ten sam komputer:
Bez serwera (nie udało się połączyć) 1036ms Z serwerem 0ms
|
|
jankowalski25 |
» 2016-02-05 20:03:44 Bez serwera (nie udało się połączyć) 1036ms |
Taki wynik otrzymujesz przy braku limitu czasu czy przy jednej sekundzie? //edit: Czy jesteś pewny, że problem leży w podanych fragmentach? Nie wiadomo, jaki wpływ może mieć reszta kodu. Sprawdź na przykład, co zwraca socket.isBlocking() . |
|
« 1 » 2 3 |