Port Yönlendirme

Bu bölüm, yerel bağlantı noktalarını başka bir bilgisayara/ bağlantı noktasına iletmenin kolay bir yolunu sağlar. Bu, roboRIO USB bağlantı noktasına bağlı bir bilgisayardan Ethernet bağlantılı cihazlara erişmenin bir yolunu sağlamak için kullanışlıdır. Bu sınıf, ham bir TCP bağlantı noktası ileticisi olarak işlev görür; bu, SSH gibi bağlantıları iletebileceğiniz anlamına gelir.

Uzak Bağlantı Noktası İletme

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);
}
wpiutil.PortForwarder.getInstance().add(8888, "wpilibpi.local", 80)

Önemli

Yerel yönlendirilen bağlantı noktası olarak 1024’ten daha düşük bir bağlantı noktası ** can not-kullanamazsınız . Tam URL’leri ** can not-kullanamazsınız (http://wpilibpi.local) ve yalnızca IP Adreslerini veya DNS adlarını kullanmanız gerektiğine de dikkat etmek önemlidir.

Yönlendirilen Bağlantı Noktasını kaldırma

Belirtilen bir bağlantı noktasında forward-yönlendirmeyi durdurmak için, bağlantı basitçe remove(int port) çağrısı yapmanız yeterlidir. Yönlendirilmemiş bir bağlantı noktasında remove() çağırırsanız, hiçbir şey olmaz.

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