Voici une implémentation d'ipv6, je ne sais pas si ça vous convient(j'aimerai faire une pull request) mais je poste quand même, et puis soyez indulgent je suis encore un étudiant mdrr
Donc en gros, maintenant IpAddress hérite de NetworkAddress(pour que plus tard on puisse faire hériter UnixAddress par exemple de cette classe aussi) et les trucs propres à IPv4 sont dans IpAddress::Ipv4 et ceux d'IPv6 dans IpAddress::Ipv6(il y a deux méthodes que je n'ai pas encore implémentées)
https://github.com/blinkofaneye/SFML/tree/ipv6voici un programme de test (testé sur linux et windows):
#include <iostream>
#include <cstring>
#include <SFML/Network.hpp>
using namespace std;
int main()
{
sf::TcpSocket sock;
sf::IpAddress address("::1");
cout << "address: " << address << endl;
if(sock.connect(address, 80) != sf::Socket::Done)
{
cout << "Connection error!" << endl;
return 1;
}
char buffer[251] = {0};
size_t received;
char req[] = "GET / HTTP/1.1\r\n\r\n";
sock.send(req, strlen(req));
sock.receive(buffer, 250, received);
cout << "buffer: " << buffer << endl;
cout << "local port: " << sock.getLocalPort() << endl;
cout << "remote address: " << sock.getRemoteAddress() << endl;
cout << "remote port: " << sock.getRemotePort() << endl;
return 0;
}