Los socket son funciones y estas las podes usar en c++, ya que las librerias estan, tendiras que empezar por algo "basico" como c, y por lo que preguntas
y para el diseño grafico de la aplicacion debo aprender otro lenguaje?
C++, es un leguaje orientado a objetos, asique podes hacer la gui con c++.
O implementar otro lenguaje como VB, Java, .Net, etc. todos lenguajes orientados a objetos.
Por ahi mas faciles que c++ (Opinion personal).
En el manual que pasa madpitbull, otro usuario del foro (no recuerdo el nick), realizo un programa cliente-servidor. El cliente echo en Visual Basic, y el server echo en c.
Si encuentro el post te lo paso, para que tengas un modelo y lo adaptes a lo que queres.