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)
.
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)
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.
public Robot() {
PortForwarder.remove(8888);
}
Robot::Robot() {
wpi::PortForwarder::GetInstance().Remove(8888);
}
wpinet.PortForwarder.getInstance().remove(8888)