So I looked up ways to find the group owner IP and the user IP. Based on that we can do different tasks based on wether a user is a group owner or client.  Group owner will create a server
socket and wait for peers and clients will connect and send data to group owner with socket.
This is all untested and I have no idea how to test it or how this should all really work. Please review and look at this.