Also bei NMFTP habe ich leider keine Ahnung, wie das gehen könnte.
Wenn du das ganze aber mit Client/Server-Sockets machst, dann kannst du ja selbst entscheiden, wieviel du senden willst. Du gibst an, wie groß die einzelnen Pakete sind und überprüfst, jedesmal wieviele du pro Sekunde verschickt hast. Wenn das Limit erreicht ist, wartest du einfach, bis die nächste Sekunde anbricht und sendest erst dann weiter.
Ich selbst habe das noch nicht ausprobiert, hört sich aber ganz gut an.
*selbstbeweihräucher*

If accidentally read, induce vomitting.