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() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Does this work on python 3.8? I can't quite seem to get it working (even when fixing the print statements).