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()
@SirErnestt
Copy link

i run the code but it is not working

@giefko
Copy link
Author

giefko commented Jul 5, 2020

@SirErnest what was the error or the output? Have you try to run it with Python 2.7 or higher? Are you using Windows, Linux which OS?

Provide me more infos and may i or somEbody else is able here to help you out. :)

@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