Last active
October 23, 2022 22:40
-
-
Save giefko/2fa22e01ff98e72a5be2 to your computer and use it in GitHub Desktop.
Python File Transfer over TCP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |
Is this OS is linux?
@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
where does it save the file ?
In the same path as your script is running. But you can change that with a
few lines of code
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=icon>
Virus-free.
www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail&utm_term=link>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
Στις Πέμ, 25 Μαρ 2021 στις 4:17 μ.μ., ο/η Darthveloper21 <
***@***.***> έγραψε:
… ***@***.**** commented on this gist.
------------------------------
where does it save the file ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://gist.github.com/2fa22e01ff98e72a5be2#gistcomment-3680288>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEHOEHBEDI43TQ6XEUHAPZTTFNHYRANCNFSM4H7QTZ6A>
.
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
Check this out. File tranfer via socket. It is the easiest code https://youtu.be/SZyd7xGTBkw