Last active
December 20, 2015 10:19
-
-
Save creamidea/6114473 to your computer and use it in GitHub Desktop.
用于socket io实验。服务器端使用的是nodejs,框架是express,使用的语法糖衣是:coffeescript
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
extends layout | |
block content | |
h1= title | |
p Welcome to #{title} |
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
doctype 5 | |
html | |
head | |
title= title | |
link(rel='stylesheet', href='/stylesheets/style.css') | |
script(src="/socket.io/socket.io.js") | |
script(src="/javascripts/zepto.min.js") | |
script(src="/javascripts/app.js") | |
body | |
block content |
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
# $show = document.getElementById('show') | |
show = (data) -> | |
$show = $('body') | |
console.log $show | |
msg = data.hello || data.id | |
$show.append "<p>#{msg}</p>" | |
return | |
socket = io.connect 'http://localhost:3000' | |
socket.on 'news', (data) -> | |
console.log data | |
show data | |
socket.emit 'my other event', {my: 'data'} | |
return | |
socket.on 'random', (data) -> | |
show data | |
return |
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
### | |
Module dependencies. | |
### | |
express = require("express") | |
socket_io = require("socket.io") | |
routes = require("./routes") | |
user = require("./routes/user") | |
http = require("http") | |
path = require("path") | |
app = express() | |
app.configure -> | |
app.set "port", process.env.PORT or 3000 | |
app.set "views", __dirname + "/views" | |
app.set "view engine", "jade" | |
app.use express.favicon() | |
app.use express.logger("dev") | |
app.use express.bodyParser() | |
app.use express.methodOverride() | |
app.use app.router | |
app.use express.static(path.join(__dirname, "public")) | |
app.configure "development", -> | |
app.use express.errorHandler() | |
app.get "/", routes.index | |
app.get "/users", user.list | |
server = http.createServer(app) | |
server.listen app.get("port"), -> | |
console.log "Express server listening on port " + app.get("port") | |
io = socket_io.listen server | |
io.sockets.on 'connection', (socket) -> | |
socket.emit 'news', {hello: 'world'} | |
setInterval -> | |
socket.emit 'random', { id: Math.random() } | |
return | |
, 1000 | |
socket.on 'my other event', (data) -> | |
console.log(data) | |
return | |
return |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment