Socket.IO - это независимый от данных протокол, поэтому вы можете отправлять любую информацию.Поддерживаются как текстовые, так и двоичные данные.
Если вы хотите отправить изображение с сервера, вы можете сделать что-то вроде этого:
with open('my_image_file.jpg', 'rb') as f:
image_data = f.read()
emit('my-image-event', {'image_data': image_data})
Клиент должен знать, что выотправляют данные в формате JPEG, в протоколе Socket.IO нет ничего, что отличало бы отправку изображений от отправки текста или других форматов данных.
Если вы используете клиент JavaScript, вы получите данные в виде байтового массива.,Другие клиенты могут выбрать наиболее подходящее двоичное представление для этих данных.