Forum de la communauté SFML

Général => Suggestions de nouvelles fonctionnalités => Discussion démarrée par: blinkofaneye le Juin 04, 2018, 02:30:02 pm

Titre: IPv6 xD
Posté par: blinkofaneye le Juin 04, 2018, 02:30:02 pm
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/ipv6

voici 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;
}
Titre: Re: IPv6 xD
Posté par: Laurent le Juin 04, 2018, 02:49:43 pm
Merci pour ta contribution. Cependant, si tu veux que celle-ci ait une chance d'être considérée sérieusement, tu devrais soit poster sur le forum anglais, soit proposer directement une pull request.
Titre: Re: IPv6 xD
Posté par: blinkofaneye le Juin 04, 2018, 03:44:58 pm
D'accord je vais faire une pull request  :)
Titre: Re: IPv6 xD
Posté par: Oliviajsdkf le Février 27, 2024, 08:51:14 am
Your implementation of IPv6 looks interesting. It's great that you are working on expanding the functionality of IpAddress to support both IPv4 and IPv6. It's a good practice to organize the specific implementations for IPv4 and IPv6 in separate classes like IpAddress::Ipv4 and IpAddress::Ipv6.

If you are considering making a pull request for this implementation, it's important to ensure that your code is well-documented, follows the project's coding standards, and thoroughly tested. This will increase the chances of your pull request being accepted by the project maintainers.

It's also good to see that you have provided a test program along with your implementation. Testing on multiple platforms like Linux and Windows is a good practice to ensure cross-platform compatibility.

Keep up the good work, and don't hesitate to seek feedback or guidance from more experienced developers or the project maintainers if needed. Good luck with your contributions! contexto (https://contextogame.io/)