Servidor de chat++
De SolarSockets C++ Sockets C++
Es un servidor de chat muy simple, pero que permite recibir múltiples conexiones, hacerlo a mano implica aun mas tiempo que el cliente, con SolarSockets++ y muy poco código obtendrás los mismos resultados. Ademas ya no tendrás que preocuparte por la capa de comunicaciones, nosotros lo hacemos por ti, en cambio puedes dedicar mas tiempo a la lógica de tu proyecto.
Nota: Para probar el servidor también se puede utilizar como cliente un cliente Telnet. Usado de la siguiente forma:
telnet localhost 9999
Descarga
Copia y Pega
// Solar-OpenSource.Org (c) #include <SolarSockets/SolarSockets++.h> class cMiServerCliente : public ssPPServerClient { public: //cMiServerCliente(ssPPServer *father, int ID): ssPPServerClient(father, ID){}; // Obligatorio|Mandatory. public: string MiNick; void onConnect () { setTokenizer("\r\n"); cout << "Nueva conexion ID[" <<getID() << "]" << " mi IP es :" << getIP() << endl; // Se acepto la coneccion y se envia saludo :) Send("Bienvenido.\r\n"); } void onLineArrival(string Data) { cout << "[" << getID() << "]: " << Data << endl; SendMulticast(Data + "\r\n", getID()); } }; class cMiServer : public ssPPServer { void onConnect () { static int Tipo = 0; Tipo ++; ssPPServerClient *ServerClient; // En el Accept substituimos el cliente y ponemos el nuestro. ServerClient = new cMiServerCliente(); Accept(ServerClient); cout << "Cliente " << ServerClient->getID(); cout << " intenta coneccion, su ip es: " << ServerClient->getIP() << endl; cout << "Se conecta desde desde la red: " << ServerClient->getIPNet() << endl; } }; int main (int argc, char* argv[]) { cMiServer ZeruServer; ZeruServer.Listen(9999); cout << "Escuchando" << endl; int x; cin >> x; }


