I'm developing a Client Server application. At the moment I can connect the two and send data. The main aim is to make a server as a core control. The server only perform actions according to each client request, so the client can request to connect to let say "@Bob" where in my database on the first time "@Bob" initialized a connection with a server he registered a username "@Bob" and the server will capture the IP address of "@Bob" as well as the username "@Bob" and registered it on a database so that when let say "@John" wants to connect with "@Bob" can type in a textbox like this "connect @Bob" then when the server receive this message the server will then look in to a database in searching for a username "@Bob" and if the username is found then the server will retrieve the IP Address of "@Bob" then use it to send a message to "@Bob" that "@John" wants to connect with him, I will stop there because the only part I want to know is how to connect to a client using an IP address.
I must say this, the clients will in most cases be always connected to server so the server will only use the IP to check if the desired client is still available or reachable, then the server will send a message notifying the contacted client that there is someone contacting him/her then if the contacted clients accepts this request then the server should be like a bridge, receive data and send it between the two while the two are still connected but I mainly want to send data between the two once they are connected to make it a more real time response.
My point is how can I send a message and connect two clients to send data between them, the server is only a connector. At the moment I can respond to each client.