Find Jobs
Hire Freelancers

Boost Asio basic server class

$30-250 USD

Closed
Posted almost 15 years ago

$30-250 USD

Paid on delivery
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).
Project ID: 447932

About the project

6 proposals
Remote project
Active 15 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
6 freelancers are bidding on average $185 USD for this job
User Avatar
ready to go.
$200 USD in 3 days
0.5 (2 reviews)
3.7
3.7
User Avatar
Please take a look at you pv
$200 USD in 4 days
0.0 (1 review)
0.0
0.0
User Avatar
lock at my pmb
$230 USD in 10 days
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi, Please see PM.
$250 USD in 12 days
0.0 (2 reviews)
0.0
0.0
User Avatar
hi,i want to do that for free.
$30 USD in 4 days
0.0 (1 review)
0.0
0.0
User Avatar
it will be fantastic than others, thanx.....
$200 USD in 4 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of PORTUGAL
Lustosa, Portugal
0.0
0
Member since Jun 8, 2009

Client Verification

Other jobs from this client

Boost asio server class
$30-5000 USD
Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.