Data Transfer#

Warning

* Please DO NOT transfer any sensitive data using the following methods.

To build on the previous client/server example, we can transfer file data from one machine to another.

Downloading Files#

  1. Use the -l option to create a server to host the file:

pync -l localhost 8000 < file.in
py -m pync -l localhost 8000 < file.in
# server.py
import pync

# Be sure to open files in binary mode
# for the pync function.
with open('file.in', 'rb') as f:
    pync.run('-l localhost 8000', stdin=f)
  1. On a separate console, connect to the server to download the file:

pync localhost 8000 > file.out
py -m pync localhost 8000 > file.out
# client.py
import pync

# Be sure to open files in binary mode
# for the pync function.
with open('file.out', 'wb') as f:
    pync.run('localhost 8000', stdout=f)

During the file transfer, there won’t be any progress indication. The connection will close automatically after the file has been transferred.

Uploading Files#

You can also upload files by swapping the client/server roles.

  1. Create a server to download the file data:

pync -l localhost 8000 > file.out
py -m pync -l localhost 8000 > file.out
# server.py
import pync

# Be sure to open files in binary mode
# for the pync function.
with open('file.out', 'wb') as f:
    pync.run('-l localhost 8000', stdout=f)
  1. On a separate console, connect to the server to upload the file:

pync localhost 8000 < file.in
py -m pync localhost 8000 < file.in
# client.py
import pync

# Be sure to open files in binary mode
# for the pync function.
with open('file.in', 'rb') as f:
    pync.run('localhost 8000', stdin=f)


SEE ALSO: