How would i be able to do this when all the sockets should get the same data? A socket should be able to be created and connected mid-play in a song, and then just hear from that point of the song?
So send the same data to all clients for a given time frame. As long as the data that gets sent out lets clients get enough context and start playing back there shouldn't be any issues. I could be mistaken, but I believe that the MP3 data stream format (and most other modern streaming data formats) let clients receive data midstream. I think that the issue will be if your clients can handle data sent that way, or if they assume they are downloading a complete .MP3 file instead of an MP3 encoded data.