Skip to content

Instantly share code, notes, and snippets.

@giefko
Last active October 23, 2022 22:40
Show Gist options
  • Save giefko/2fa22e01ff98e72a5be2 to your computer and use it in GitHub Desktop.
Save giefko/2fa22e01ff98e72a5be2 to your computer and use it in GitHub Desktop.
Python File Transfer over TCP
import socket # Import socket module
s = socket.socket() # Create a socket object
host = "1somehing.11somehing." #Ip address that the TCPServer is there
port = 50000 # Reserve a port for your service every new transfer wants a new port or you must wait.
s.connect((host, port))
s.send("Hello server!")
with open('received_file', 'wb') as f:
print 'file opened'
while True:
print('receiving data...')
data = s.recv(1024)
print('data=%s', (data))
if not data:
break
# write data to a file
f.write(data)
f.close()
print('Successfully get the file')
s.close()
print('connection closed')
import socket # Import socket module
port = 50000 # Reserve a port for your service every new transfer wants a new port or you must wait.
s = socket.socket() # Create a socket object
host = "" # Get local machine name
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
print 'Server listening....'
while True:
conn, addr = s.accept() # Establish connection with client.
print 'Got connection from', addr
data = conn.recv(1024)
print('Server received', repr(data))
filename='TCPSERVER.py' #In the same folder or path is this file running must the file you want to tranfser to be
f = open(filename,'rb')
l = f.read(1024)
while (l):
conn.send(l)
print('Sent ',repr(l))
l = f.read(1024)
f.close()
print('Done sending')
conn.send('Thank you for connecting')
conn.close()
@hightTest
Copy link

Check this out. File tranfer via socket. It is the easiest code https://youtu.be/SZyd7xGTBkw

@kimakuma
Copy link

Is this OS is linux?

@giefko
Copy link
Author

giefko commented Jan 25, 2021

@kimakuma no this is on Windows but i remember that is running also in Linux maybe with a few changes.
@hightTest nice thank you

The file transfer for large files is slow as hell of course if we can make it faster it could be good. Please check it guys

@hvn2706
Copy link

hvn2706 commented Mar 25, 2021

where does it save the file ?

@giefko
Copy link
Author

giefko commented Mar 25, 2021 via email

@ThyBlight
Copy link

Does this work on python 3.8? I can't quite seem to get it working (even when fixing the print statements).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment