Redirecccionamiento de puertos

Esta clase proporciona una manera fácil de redireccionar puertos locales a otro host / puerto. Esto es útil para proporcionar una manera de acceder a dispositivos conectados a Ethernet desde una computadora conectada al puerto USB roboRIO. Esta clase actúa como un redireccionador de puertos TCP sin procesar, esto significa que puede redireccionar conexiones como SSH.

Redireccionamiento de un puerto remoto

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).

@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)

Importante

No se puede usar un puerto menor que 1024 como su puerto de reenviado local. También es importante tener en cuenta que no se puede usar URL completas (http://wpilibpi.local) y solo debe usar direcciones IP o nombres DNS.

Removiendo un redireccionamiento de puertos

Para detener el reenvío en un puerto específico, simplemente llame a remove(int port) , siendo el puerto el número de puerto. Si llama a remove() en un puerto que no se está reenviando, no sucederá nada.

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