bueno en cierto modo deberias hacer lo que dijo engelx pero no estrictamente, en el servidor debes poner un socket escuchando en un puerto x, cada vez que un cliente intenta conectarse a tu servidor por ese puerto x, debes crear otro socket, probablemente almacenar todos estos sockets en un array, no es necesario usar mas que un puerto.
Una vez realizada la conexion, y empieces la partida tienes dos opciones, conseguir que ambos clientes se conecten entre ellos (cliente <-> cliente) o (cliente <-> servidor <-> cliente). La segunda es obviamente mas lenta, pero para un juego de cartas que no creo que sea muy rapido ni que necesites enviar mucha informacion por lo que puedes elegir la segunda opcion.
No es exactamente lo que tu quieres pero establece multicobexion, hechale un vistazo que te aclarara cosas:
http://www.indetectables.net/viewtopic.php?p=34880