node.js + socket.io实现聊天室一
前段时间,公司打算在社区做一个聊天室。决定让我来做。本小白第一次做聊天类功能,当时还想着通过ajax请求来实现。经过经理提示,说试试当前流行的node.js 和socket.io来做。于是就上网学习研究起来。
首先,先看一下node.js。本小白当时还以为是一个什么js的框架或者类库。结果才知道,原来完全不是那么回事。
node.js 诞生于2009年,是一种轻量级的web服务。如果查看node.js的官网,真的非常简答,简短的几行代码,就搭建了一个web服务。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
下面我们来分析一下上门这段代码
第一步:var http = require('http') 这里是使用一个全局方法require()引入http模块。
这边要说明一下,node.js里面的很多功能支持都是一些模块,这些模块既可以自己创建,也可以调用别人写好的。目前像mysql,redis,express等,都有功能比较完善成熟的模块。
第二步:http.createServer 是模块的方法,目的就是创建并返回一个新的web server对象,并且给服务绑定一个回调,用以处理请求。这个回调函数里面的两个参数req和res分别是httpRequest和httpRespose,请求和响应
第三步:通过 http.listen() 方法就可以让该 HTTP 服务器在特定端口监听。
console.log()就是在服务器端记录日志文件,这边是做一个提醒,提醒服务启动了。
我们把上面的文件编写好,保存为一个js文件,我这边使用的是mac所以在终端中打开,如果是windows系统,就在dos命令提示符下面打开。
当然,前提是需要你的电脑已经安装node.js环境,怎么安装就不多说了,网上有很多,可以去搜一下。都讲的比较清除
首先进入文件所在的文件夹,然后输入命令行 node app.js app.js就是我刚刚保存的文件名结果如下

然后在浏览器中输入 127.0.0.1:1377 就可以看到效果了

这样,一个简单的web服务就创建好了。
node.js + socket.io实现聊天室一的更多相关文章
- node express+socket.io实现聊天室
参照网址:https://www.jb51.net/article/135058.htm https://www.cnblogs.com/limitcode/p/7845168.html https: ...
- 使用Node.js+Socket.IO搭建WebSocket实时应用
Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...
- (转)使用Node.js+Socket.IO搭建WebSocket实时应用
Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新.它有着广泛的应用场景,比如在线聊天室.在线客服系统.评论系统.WebIM等. W ...
- 我的学习笔记之node----node.js+socket.io实时聊天(1) (谨此纪念博客开篇)
本想着从hello word开篇,也确实写了相关学习笔记.各种原因吧,现在又着急写出作品,便作罢. 这里将记录一个node.js+socket.io的实时聊天程序.(当然我也是跟着网上各种教程资料学习 ...
- 使用Node.js+Socket.IO搭建WebSocket实时应用【转载】
原文:http://www.jianshu.com/p/d9b1273a93fd Web领域的实时推送技术,也被称作Realtime技术.这种技术要达到的目的是让用户不需要刷新浏览器就可以获得实时更新 ...
- 基于Node.js + WebSocket 的简易聊天室
代码地址如下:http://www.demodashi.com/demo/13282.html Node.js聊天室运行说明 Node.js的本质就是运行在服务端的JavaScript.Node.js ...
- 我的学习笔记之node----node.js+socket.io实时聊天(1)
本想着从hello word开篇,也确实写了相关学习笔记.各种原因吧,现在又着急写出作品,便作罢. 这里将记录一个node.js+socket.io的实时聊天程序.(当然我也是跟着网上各种教程资料学习 ...
- 基于node.js+socket.io+html5实现的斗地主游戏(1)概述
一.游戏描述 说是斗地主游戏,其实是寝室自创的"捉双A",跟很多地方的捉红10.打红A差不多,大概规则是: 1.基础牌型和斗地主一样,但没有大小王,共52张牌,每人13张,这也是为 ...
- 转载:node.js socket.io
本文转自:http://www.xiaocai.name/post/cf1f9_7b6507 学习node.js socket.io 使用 用node.js(socket.io)实现数据实时推送 在 ...
随机推荐
- js动态给table添加行(tr)
html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> < ...
- SaltStack运行任务卡住了,怎么办?
将相关的JOB ID杀死即可. salt-run jobs.active salt "*" saltutil.signal_job JOBID 15
- (greedy)Best Time to Buy and Sell Stock II
Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...
- 一、mysql分表简单介绍
一.Mysql分表的原因 1.当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了. 分表的目的就在于此,减小数据库的负担,缩短查询时间. 2.mysql中 ...
- Java 内存区域和GC机制-java概念理解
推荐几篇关于java内存介绍的文章 Java 内存区域和GC机制 http://www.cnblogs.com/hnrainll/archive/2013/11/06/3410042.html ...
- 第36讲 activityForResult
第36讲 activityForResult activityForResult的作用是利用下一个activity给当前的activity传值(前一讲是利用当前activity给下一个activity ...
- hdu 5396 Expression(区间dp)
Problem Description Teacher Mai has n numbers a1,a2,⋯,anand n−1 operators("+", "-&quo ...
- 自定义jquery插件
参考:http://blog.csdn.net/bao19901210/article/details/21540137/ 自己看代码理解: <!DOCTYPE html> <htm ...
- Hive MapJoin
摘要 MapJoin是Hive的一种优化操作,其适用于小表JOIN大表的场景,由于表的JOIN操作是在Map端且在内存进行的,所以其并不需要启动Reduce任务也就不需要经过shuffle阶段,从而能 ...
- delphi 简单的删除字符串尾部数字的代码
delphi 简单的删除字符串尾部数字的代码 方式一: function FilterShowName(const sName: String): String; var I: Integer; b ...