import socketio import eventlet from PIL import Image import io sio = socketio.Server() app = socketio.WSGIApp(sio) @sio.event def connect(sid, environ, auth): print(f"Client connected {sid}") @sio.event def disconnect(sid): print(f"Client disconnected {sid}") @sio.event def recv_image(sid, data=None): image_data = data['image_data'] #base_image_path = "data/images/base-image.jpg" #save_path = "data/images/test.jpg" base_image_path = "server-images/base-image.jpg" save_path = "server-images/im1-server.jpg" with Image.open(io.BytesIO(image_data)) as recieved: recieved.save(save_path) recieved.show() @sio.event def request_image(sid): image_path = "server-images/test.png" with open(image_path, "rb") as image: image_data = image.read() data = {'image_data': image_data} print("sending image") sio.emit("recv_image", data, room=sid) def main(): eventlet.wsgi.server(eventlet.listen(('', 9999)), app) if __name__ == "__main__": main()