import socket import threading import time from PIL import ImageGrab import io def send_screen(): while True: img = ImageGrab.grab() img = img.resize((800, 600)) buf = io.BytesIO() img.save(buf, format='JPEG', quality=50) data = buf.getvalue() try: s.send(len(data).to_bytes(4, byteorder='big') + data) except: break s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("127.0.0.1", 9999)) # Replace with actual IP threading.Thread(target=send_screen, daemon=True).start() try: while True: time.sleep(1) except KeyboardInterrupt: s.close()