node io.sockt 聊天应用
index.html
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div id="output"></div> <script src="./socket.io/socket.io.js"></script> <script> var socket=io.connect('http://localhost:8080'); socket.on('connect',function(){ socket.emit('addme',prompt("Who are you?")); }) socket.on('chat',function(username,data){ var p=document.createElement("p"); p.innerHTML=username+ " : "+data; document.getElementById("output").appendChild(p); }) window.addEventListener('load',function(){ document.getElementById('sendtext').addEventListener('click',function(){ var text=document.getElementById("data").value; socket.emit('sendchat',text); },false); },false); </script> <div id="output"></div> <div id="send"><input type="text" id="data" size="100"><br><input type="button" id="sendtext" value="Send Text"></div> </body> </html>
app.js
var app=require('http').createServer(handler), io=require('socket.io').listen(app), fs=require('fs'); app.listen(8080); function handler(req,res){ fs.readFile(__dirname+'/index.html',function(err,data){ if (err) { res.writeHead(500); return res.end('Error loading chat.html'); } res.writeHead(200); res.end(data); }); } io.sockets.on("connection",function(socket){ socket.on('addme',function(username){ socket.username=username; socket.emit('chat','SERVER','You have connected'); socket.broadcast.emit('chat','SERVER',username+' is on deck'); }) socket.on('sendchat',function(data){ io.sockets.emit('chat',socket.username,data); }) socket.on('disconnect',function(){ io.sockets.emit('chat','SERVER',socket.username+' has left the building'); }) })
分类:
nodejs
posted on 2013-10-17 15:07 Ijavascript 阅读(306) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 后端思维之高并发处理方案
· 想让你多爱自己一些的开源计时器
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 上周热点回顾(3.24-3.30)