82 lines
1.8 KiB
Python
82 lines
1.8 KiB
Python
import socket
|
|
import os
|
|
from pynput import keyboard
|
|
from pynput.mouse import Button, Controller
|
|
from pynput import mouse
|
|
|
|
MOUSE = Controller()
|
|
|
|
|
|
|
|
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 10002
|
|
port = 10002
|
|
# the name of file we want to send, make sure it exists
|
|
filename = "dataM.txt"
|
|
# get the file size
|
|
filesize = os.path.getsize("dataM.txt")
|
|
|
|
|
|
|
|
# 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
|
|
with open(filename, "rb") as f:
|
|
while True:
|
|
# 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)
|
|
# close the socket
|
|
#s.close()
|
|
|
|
##############################################################################
|
|
|
|
|
|
def on_click(x, y, button, pressed):
|
|
print(button)
|
|
|
|
text_file = open("dataM.txt", "w")
|
|
if button == "Button.left":
|
|
text_file.write(str("R"))
|
|
else:
|
|
text_file.write(str("L"))
|
|
|
|
text_file.close()
|
|
text_file = open("dataM.txt", "a")
|
|
text_file.write(str(x))
|
|
text_file.write(",")
|
|
text_file.write(str(y))
|
|
text_file.close()
|
|
sendfile()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
with mouse.Listener(
|
|
|
|
on_click = on_click) as listener:
|
|
|
|
listener.join()
|
|
|
|
|
|
###############################################################################
|
|
|