Skip to content

Instantly share code, notes, and snippets.

@Menencia
Last active December 11, 2015 11:38
Show Gist options
  • Save Menencia/4594742 to your computer and use it in GitHub Desktop.
Save Menencia/4594742 to your computer and use it in GitHub Desktop.
nodejs server chat
#server
logins = []
io.sockets.on 'connection', (client) ->
client.on 'join', (data) ->
# checks if data.login account exists
db.users.findOne {login: data.login}, (err, user) ->
# user found
if !err and user
# AUTHENTIFICATION (strong)
if user.password is sha1(data.password)
# mark as online
logins.push data.login
# send user
client.emit 'user',
login: data.login
registered: true
else
# error
client.emit 'error', 'login registered'
# user not found
# AUTHENTIFICATION (weak)
else
# mark as online
logins.push data.login
# send user
client.emit 'user',
login: data.login
registered: false
client.on 'register', (data) ->
# checks for user account
db.users.findOne {login: data.login}, (err, user) ->
# user exists
if !err and user
# error
client.emit 'error', 'login registered'
# user does not exist
# AUTHENTIFICATION (strong)
else
# save user
db.users.save
login: data.login
password: (data.password)
email: data.email
registered: true
# mark as online
logins.push data.login
# send user
client.emit 'user',
login: data.login
registered: true
client.on 'send msg', (data) ->
if data.login in logins
# msg added
else
# error
client.emit 'error', 'need connection'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment