BUDGET: $100-
*** For your bid to be considered please specify the recommended technology/libraries that you would use
I need a small proof of concept for a web socket server script and its dummy client script.
Proof of concept server ideally coded in Perl such as:
[login to view URL]
[login to view URL]::Async::WebSocket
Chosen solution must be reliable (people actively using it)
The dummy client can run on Linux or Windows, and can use any language
Server needs to run on CentOS 7
Server binds on port 80 for all interfaces
Server accepts and maintain persistant connections
Server and client implements native keep alive
Each client connection must be asynchroneous and non blocking
All messages implements the JSON format
All messages are securely encrypted using a known salt/key hardcoded on each side
More than one client can connect to the server using the same credentials
Each Server thread is identified by the logged in username (ex: 111111)
Message reception by clients must be first analyzed for injections by only allowing:
A-Za-z0-9[]<>'- (+ letters with accents)
If unknow characters are met, send:
['msg':'LOGIN','result':'ERR_INVMSG' ]
Server calls a function that validates user/pwd,
Implements three hard coded accounts for now:
(111111 / 222222), (333333 / 444444), (555555 / 666666)
Account 111111 is treated as an admin
Account 333333 and 444444 are treated as a regular users
Client sends the following to login:
['msg':'LOGIN','user':'333333','pwd':'444444']
If credentials are good, server responds with either:
['msg':'LOGIN','result':'OK_USER']
['msg':'LOGIN','result':'OK_ADMIN']
If credentials are not good, server responds with:
['msg':'LOGIN','result':'ERR_INVCRED']
If credentials are not good 10 times in a row, client with same IP/Port combination cannot login anymore for an hour
and server responds automatically with this message each time it tries:
['msg':'LOGIN','result':'ERR_TOOMANY']
(a table of all invalid attempts must be kept in memory for the last period: ip - port - accountnb - timestamp)
A client loggedin as an admin can put a specific message to one or several user threads event queues:
['msg':'POST', 'user':'111111','message':'Hello, world!']
The client threads identified by 111111 then sends the exact same message to the connected clients
Prior to exit and disconnect, client sends the following message:
['msg':'CMD','message':'LOGOUT']
When the server receives an event that a client connection is lost (keep alive), or the logout command, an internal clean-up is done
Hello
More 20 years programming experience.
I need more details to set real price and time.
Regards.
Relevant Skills and Experience
More 20 years programming experience.
Proposed Milestones
$155 USD - script
I need more details to set real price and time.
I am Server Expert with excellent experience of 10+ years and can handle any task related to server.
Relevant Skills and Experience
• Linux Servers (CentOS, RedHat, Debian, Ubuntu);
• VMware ESXi / vCenter;
• Amazon AWS (VPC, ELB, EC2, S3, RDS CloudWatch, Auto Scaling);
• WHM/cPanel;
Proposed Milestones
$100 USD - Server Expert
Hi,
I have gone check your projects descriptions so I can do it perfectly. I have completed lot of projects in Linux, Perl, Script which is related to your projects descriptions.
Stay tuned, I'm still working on this proposal.