VIVAHATE

May 2010

A Simple Node.js TCP Server in CoffeeScript

First Attempt

tcp: require 'tcp'

onConnect: ->
    socket.write 'hello\r\n'

onData: (data) ->
    socket.write data

onEnd: ->
   socket.write 'goodbye\r\n'
   socket.end()

server: tcp.createServer (socket) ->
    socket.setEncoding 'utf8'
    socket.addListener 'connect', onConnect
    socket.addListener 'data', onData
    socket.addListener 'end', onEnd

server.listen 7000, 'localhost'

Second Attempt

class Server
    constructor: ->
        @server: tcp.createServer (socket) ->
            socket.setEncoding 'utf8'
            socket.addListener 'connect', -> socket.write 'hello'
            socket.addListener 'data', (data) -> socket.write data
            socket.addListener 'end', -> socket.write 'goodbye'
        @server.listen 8000, 'localhost'

server: new Server()