Transfert de port

La classe PortForwarder offre un moyen facile de transférer les ports locaux vers un autre hôte/port. Ceci est utile pour fournir un moyen d’accéder aux périphériques connectés par Ethernet à partir d’un ordinateur connecté au port USB du roboRIO. Cette classe agit comme un transitaire de port TCP brut, ce qui signifie que vous pouvez transférer des connexions telles que SSH.

Transférer un port distant

Souvent, les équipes souhaitent se connecter directement au roboRIO pour contrôler leur robot. La classe PortForwarding (Java, C++) peut être utilisée pour transférer la connection du Raspberry Pi pour l’utilisation en port transféré durant ce temps. La classe PortForwarding établit un pont entre l’appareil distant et le client. Pour transférer un port en Java, faites simplement PortForwarder.add(int port, String remoteName, int remotePort).

@Override
public void robotInit() {
   PortForwarder.add(8888, "wpilibpi.local", 80);
}
void Robot::RobotInit {
   wpi::PortForwarder::GetInstance().Add(8888, "wpilibpi.local", 80);
}
wpinet.PortForwarder.getInstance().add(8888, "wpilibpi.local", 80)

Important

Vous ne pouvez pas utiliser un port inférieur à 1024 comme port redirigé local. Il est également important de noter que vous ne pouvez pas utiliser des URL complètes (http://wpilibpi.local) et ne devez utiliser que des adresses IP ou des noms DNS.

Supprimer un port transféré

Pour arrêter le transfert vers un port spécifié, il suffit d’appeler remove(int port) avec comme port le numéro de port. Si vous appelez remove() sur un port qui n’est pas transmis, il ne se passera rien.

@Override
public void robotInit() {
   PortForwarder.remove(8888);
}
void Robot::RobotInit {
   wpi::PortForwarder::GetInstance().Remove(8888);
}
wpinet.PortForwarder.getInstance().remove(8888)