God, that took a while to get asynchronous sockets working in C++. I've never done that before. Anyway, I figured I'd post so you can post protocol ideas but I figured it'd go something like this:
client1 requests interaction with BL_ID of client2
client2 accepts interaction request
client1 can now send data to client2's BL_ID
client2 can send data to client1's BL_ID
in this scenario, BL_ID would be a replacement for IP that the server substitutes. Also, if it wasn't clear I'll be hosting this off my server so anyone can use it simply by connecting and working with the protocol.