fast-data-transfer / fdt

FDT is an Application for Efficient Data Transfers which is capable of reading and writing at disk speed over wide area networks (with standard TCP). It is written in Java, runs an all major platforms and it is easy to use. FDT is based on an asynchronous, flexible multithreaded system and is using the capabilities of the Java NIO libraries.
https://fast-data-transfer.github.io/
Apache License 2.0
201 stars 45 forks source link

Error When Port Forwarding #70

Open monomycelium opened 2 years ago

monomycelium commented 2 years ago

I have a home Raspberry Pi, which I use as a NAS. The brilliantly-designed FDT is supercharged for transferring large files. Occasionally, I need to access those files when I am outside, using my Macintosh. I set up port forwarding for the ports 54321 and 43210 since I've noticed FDT uses them. However, the FDT server starts and stops with errors on my Raspberry Pi.

``` 2022-06-28 17:37:46 INFO lia.util.net.copy.FDT main FDT [ 0.26.3-202103312247 ] STARTED ... 2022-06-28 17:37:46 INFO lia.util.net.common.Config Using lia.util.net.copy.PosixFSFileChannelProviderFactory as FileChannelProviderFactory 2022-06-28 17:37:46 INFO lia.util.net.common.Config FDT started in server mode 2022-06-28 17:37:46 INFO lia.util.net.copy.FDT main FDT uses *blocking* I/O mode. 2022-06-28 17:37:46 WARNING lia.util.net.copy.FDT main Failed to instantiate FDT java.net.BindException: Address already in use at java.base/sun.nio.ch.Net.bind0(Native Method) at java.base/sun.nio.ch.Net.bind(Net.java:459) at java.base/sun.nio.ch.Net.bind(Net.java:448) at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80) at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:73) at lia.util.net.copy.FDTServer.(FDTServer.java:67) at lia.util.net.copy.FDT.(FDT.java:101) at lia.util.net.copy.FDT.main(FDT.java:467) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at lia.util.net.copy.FDTMain.main(FDTMain.java:55) ```

What ports should I set up for port forwarding? Should I enable mapping? Should I allow both the TCP and UDP protocols? I would appreciate any help.