XMPP is great for that, since I adopted it a while back, it's just been a breeze to send files around. With a usual setup and Gajim or Conversations for instance you can decide if you're sending that one file to all or a specific device(s) (i.e. resource), it's really neat. Hosting my own ejabberd server was also the easiest setup experience of my self-hosting life, can't recommend it enough.