使用 Node.js 和 Socket.IO 构建简单的聊天程序

在node.js根目录下创建文件夹chat,里面添加两个文件:app.js和index.html

app.js

var fs = require('fs'), http = require('http'), socketio = require('socket.io');var server = http.createServer(function(req, res) {res.writeHead(200, { 'Content-type': 'text/html'});res.end(fs.readFileSync(__dirname + '/index.html'));
}).listen(8080, function() {console.log('Listening at: http://localhost:8080');
});socketio.listen(server).on('connection', function (socket) {socket.on('message', function (msg) {console.log('Message Received: ', msg);socket.broadcast.emit('message', msg);});
});

index.html

<html>
<head><script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script><script src="/socket.io/socket.io.js"></script><script>$(function(){var iosocket = io.connect();iosocket.on('connect', function () {$('#incomingChatMessages').append($('<li>Connected</li>'));iosocket.on('message', function(message) {$('#incomingChatMessages').append($('<li></li>').text(message));});iosocket.on('disconnect', function() {$('#incomingChatMessages').append('<li>Disconnected</li>');});});$('#outgoingChatMessage').keypress(function(event) {if(event.which == 13) {event.preventDefault();iosocket.send($('#outgoingChatMessage').val());$('#incomingChatMessages').append($('<li></li>').text($('#outgoingChatMessage').val()));$('#outgoingChatMessage').val('');}});});</script>
</head>
<body>
Incoming Chat:&nbsp;<ul id="incomingChatMessages"></ul>
<br />
<input type="text" id="outgoingChatMessage">
</body>
</html>

开启服务器

node chat/app.js

打开两个chrome输入localhost:8080

这样就看到效果了,然后你可以慢慢研究代码了,再然后就洗洗睡吧。

使用的源码来自http://www.open-open.com/lib/view/open1337216216557.html

转载于:https://www.cnblogs.com/wancy86/archive/2013/04/28/socket-io_chat.html

Node.js 和Socket.IO 实现chat相关推荐

  1. TWaver HTML5 + Node.js + express + socket.io + redis(六)

    接上一篇TWaver HTML5 + Node.js + express + socket.io + redis(五), 这一篇将讲解如何用模版生成html页面, 如何验证用户登录, 您将了解到: 1 ...

  2. TWaver HTML5 + Node.js + express + socket.io + redis(五)

    接上一回TWaver HTML5 + Node.js + express + socket.io + redis(四), 这一篇您将了解到 1. 如何保存更改后的拓扑数据 (包括新增的, 修改的, 删 ...

  3. node.js 之 socket.io

    2019独角兽企业重金招聘Python工程师标准>>> 1 Install Node.js on Ubuntu sudo apt-get install python-softwar ...

  4. Node.js + Web Socket 打造即时聊天程序嗨聊(上)

    前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...

  5. [前端] Node.js + Web Socket 打造即时聊天程序嗨聊

    前端一直是一块充满惊喜的土地,不仅是那些富有创造性的页面,还有那些惊赞的效果及不断推出的新技术.像node.js这样的后端开拓者直接将前端人员的能力扩大到了后端.瞬间就有了一统天下的感觉,来往穿梭于前 ...

  6. 使用node.js和Socket创建实时通讯聊天室。

    长连接:客户端向服务器段发请求建立链接,一旦建立成功,客户端就可以向服务器发送数据,服务器接受并处理,返回相应后连接不断开. 优点:实时通讯, 短连接:客户端向服务器发送建立连接,一旦建立成功,客户端 ...

  7. js ftpclient linux server,Node.JS用Socket实现FTP Server服务器和Client客户端

    通信过程 FTP协议其实就是主机和服务通过Socket进行固定格式的通信过程,当某客户端连接到FTP 服务器后,客户端发送指令: [参数] 服务会按以下格式返回: [参数或说明] 例如以下是FileZ ...

  8. node.js异步式IO与事件式编程

    Node.js最大的特性就是异步式I/O与事件紧密结合的编程模式.这种模式与传统的同步式IO线性的编程思路有很大的不同,因为控制流很大程度上要靠事件和回调函数来组织,一个逻辑要拆分为若干个单元格. 内 ...

  9. Node.js + Web Socket 打造即时聊天程序嗨聊(1)

    2019独角兽企业重金招聘Python工程师标准>>> 本文将使用Node.js加web socket协议打造一个网页即时聊天程序,取名为HiChat,中文翻过来就是'嗨聊',听中文 ...

最新文章

  1. Java项目:在线考试系统(java+SSM+mysql+JSP)
  2. 机器学习-类别不平衡问题
  3. 在元素前面添加一个伪元素下边框
  4. 图像恢复迭代算法的加速
  5. 程序员进阶架构师路线
  6. ubuntu11.04下CUDA4.0的安装与配置
  7. 暴力枚举——火柴棒等式(洛谷 P1149)
  8. 数据库sql server 2008安装。
  9. TypeScript笔记(5)—— 基本数据类型
  10. CentOS 7 忘记root密码的解决之道
  11. 罗技g502 g102游戏驱动ghub详细 教程
  12. dosbox运行C语言,DOSBox怎么用?DOSBox使用教程
  13. 谨防!黑客是这样偷窥你的智能手机
  14. Python——程序设计:商贷月供计算器!谁还没点月供了!
  15. css样式鼠标放上去变成手的形状
  16. 图像处理-形态学处理
  17. 低成本2.4G+MCU的SOC芯片,极其适合做低成本玩具灯控等方案
  18. 对web网站模拟压力测试
  19. C语言《猜金币》游戏(毕业设计)
  20. es6的reduce用于求数组总和

热门文章

  1. 访问Storm ui界面,出现Nimbus Summary或Supervisor Summary时有时无的问题解决(图文详解)...
  2. 弹指之间 -- Waltz
  3. ScriptManager调用 无参数WebService
  4. springboot设置静态资源不拦截的方法
  5. 1.3 Quick Start中 Step 3: Create a topic官网剖析(博主推荐)
  6. Day12 前端html
  7. 社交软件这样赚钱:line表情包卖了2亿多美元
  8. [摘录]第一部分 掌舵领航(3)
  9. cnetos7 vncserver安装与配置
  10. React Native开发之npm start加速