Netcat is a pretty nice piece of software. Because of its simplicity, it is very versatile. For sending a single file inside the local network, I can just use
cat somefile.file | netcat -l -p 13337 -q 0on the server side and then
netcat server 13337 -q 0 > somefile.fileon the client side. If I do not want to remember the filename, or if I want to send directories, I can use
tar -cf - Directory/ | netcat -l -p 13337 -q 0and on the other side
netcat server 13337 -q 0 | tar -xf -For noobs who cannot use netcat, Wikipedia has a nice example of serving a single file which is downloadable via a webbrowser
{ echo -ne "HTTP/1.0 200 OK\r\n\r\n"; cat some.file; } | nc -l 8080
There are options for using UDP instead of TCP. But something that would be very desirable is a possibility to use STUN to create a p2p-connection. I do not think that netcat already has this possibility, but I am quite sure that something like that exists. Say, I give some Stun-Server, and the Program then passes some credentials to its stderr which I can then send (myself) to the receiver, which also passes them and creates a connection via UDP, and a bidirectional stream then. Since netcat is so good because of its simplicity, such a "Stun Netcat" would be very nice for sending files, too.
One could even add a simple GUI, such that n00bs can use it. If something like that exists, please tell me.
Update: Notice that I forgot to mention that "netcat" is called "nc" in some implementations, and "-q 0" is called "-c" (or completely different), depending on the implementation of netcat you have. Read the documentation for your implementation, in case of doubt.