Find Jobs
Hire Freelancers

Perl Websocket server proof of concept

$30-250 USD

Closed
Posted over 6 years ago

$30-250 USD

Paid on delivery
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
Project ID: 14947878

About the project

5 proposals
Remote project
Active 7 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
5 freelancers are bidding on average $118 USD for this job
User Avatar
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.
$155 USD in 5 days
4.5 (35 reviews)
5.3
5.3
User Avatar
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
$100 USD in 3 days
0.0 (0 reviews)
0.0
0.0
User Avatar
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.
$30 USD in 3 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of CANADA
Chateauguay, Canada
5.0
49
Payment method verified
Member since Feb 25, 2008

Client Verification

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.