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

Often teams may wish to connect directly to the roboRIO for controlling their robot. The PortForwarding class (Java, C++) can be used to forward the Raspberry Pi connection for usage during these times. The PortForwarding class establishes a bridge between the remote and the client. To forward a port in Java, simply do PortForwarder.add(int port, String remoteName, int remotePort).

public Robot() {
   PortForwarder.add(8888, "wpilibpi.local", 80);
}
Robot::Robot() {
   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.

public Robot() {
   PortForwarder.remove(8888);
}
Robot::Robot() {
   wpi::PortForwarder::GetInstance().Remove(8888);
}
wpinet.PortForwarder.getInstance().remove(8888)