Created
March 2, 2013 09:54
-
-
Save sivagao/5070348 to your computer and use it in GitHub Desktop.
RT filename.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #client端代码 | |
| #点击添加的时候 | |
| @socket.emit 'newItem', newItem if @socket | |
| #点击加入的时候 | |
| joinList: -> | |
| @socket = io.connect("http://localhost:3000") | |
| @socket.on 'connect', => | |
| @socket.emit 'joinList', @$joinListName.val() | |
| @socket.on 'syncItems', (items) => | |
| @syncItems(items) | |
| syncItems: (items) -> | |
| console.log 'syncing items' | |
| localStorage.clear() | |
| localStorage.setObj item.id. item for item in items | |
| @displayItems() | |
| #server端代码 - | |
| #io.sockets代表所有可能接入server的sockets[来自client]的reference, | |
| #所有'on-connect'和'in(room)'就好理解了 | |
| io.sockets.on 'connection', (socket) => | |
| console.log 'connected' | |
| socket.on 'joinList', (list) => | |
| console.log "joining list #{list}" | |
| socket.list = list | |
| socket.join(list) | |
| @todos[list] ?= [] | |
| socket.emit 'syncItems', @todos[list] | |
| socket.on 'newItem', (todo) => | |
| console.log 'newItem #{todo.title}' | |
| @todos[list].push todo | |
| io.sockets.in(socket.list).emit('itemAdded', todo) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment