Find Jobs
Hire Freelancers

Boost Asio basic server class

$30-250 USD

Cerrado
Publicado hace casi 15 años

$30-250 USD

Pagado a la entrega
I'd need two base classes for server side and clients, I'd preffer using ASIO or another open source multiplatform library. Server Side - Accept and manage 100 to 5000 simultaneos connetionected clients - Authenticate client with uid and pwd (authenticantion function not need to implement) - Receive and send text messages only (#define MAXMSGSIZE) trucate messages bigger that MAXMSGSIZE - Send one message to one client or several clients (max 20 clients at the time) with retry transparent machanism. - Should consider this class an High availability Mission critical, so a correct memory management and resources utilization is mandatory. - Server interfaces: - Constructor (unsigned short port) - void OnClientAuthentication(char* lpszUid) // virtual override - void OnClientMessage(char* lpszUid, char* lpszMsg) // virtual override - void OnClientDisconnect(char* lpszUid) // virtual override - int AsyncSendMessage(char *lpszUid, char *lpszMsg) // 0 = success, others = ERROR_* - int AsyncSendMessage(char **lpszUids, unsigned int nClients, char *lpszMsg) 0 = Success, others = ERROR_* - char **GetActiveConnections() // alloc lpsz array with users Uids - int DisconnectClient(char *lpszUid) // 0 = success, others = ERROR_* - int StopAcceptingConnections() // do not accept new connections - int StartAcceptingConnections() // accept new connections again Client Side - Should be able to manage transparently the server connection and reconnect automatically if connection lost. - Receive and send text messages only (#define MAXMSGSIZE) trucate messages bigger that MAXMSGSIZE - Client interfaces: - Constructor (char *lpszServer, unsigned short lPort, char *lpszUid, char *lpszPwd) - void OnServerMessage(char* lpszUid, char* lpszMsg) // virtual override - int AsyncSendMessage(char *lpszUid, char *lpszMsg) // 0 = success, others = ERROR_* - int Connect() // 0 = SUCCESS (or already connected), other = ERROR_* - int Disconnect() // 0 = SUCCESS (or already disconnected), other = ERROR_* Deliverables: - Classes Source code (.h and .cpp) fully documented functions and params - Working examples using classes that derive from the required above. Considerations: I'm focussed on the data and application logic layers. Right now I don't have the time to work on the examples found in the net and create this class, so I'll need a simple but solid solution using C++ Boost-Asio libs (or another open source lib that the developer may consider better for this purpose).
ID del proyecto: 447932

Información sobre el proyecto

6 propuestas
Proyecto remoto
Activo hace 15 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
6 freelancers están ofertando un promedio de $185 USD por este trabajo
Avatar del usuario
ready to go.
$200 USD en 3 días
0,5 (2 comentarios)
3,7
3,7
Avatar del usuario
Please take a look at you pv
$200 USD en 4 días
0,0 (1 comentario)
0,0
0,0
Avatar del usuario
lock at my pmb
$230 USD en 10 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
Hi, Please see PM.
$250 USD en 12 días
0,0 (2 comentarios)
0,0
0,0
Avatar del usuario
hi,i want to do that for free.
$30 USD en 4 días
0,0 (1 comentario)
0,0
0,0
Avatar del usuario
it will be fantastic than others, thanx.....
$200 USD en 4 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de PORTUGAL
Lustosa, Portugal
0,0
0
Miembro desde jun 8, 2009

Verificación del cliente

Otros trabajos de este cliente

Boost asio server class
$30-5000 USD
¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.