文档章节

nodejs 聊天室

招展君
 招展君
发布于 2015/12/01 11:46
字数 322
阅读 14
收藏 0
点赞 0
评论 0

项目步骤

###1.初始化

  1. npm init
  2. 安装依赖
npm install --save express 
npm install --socket.io
  1. 安装库文件
bower install bootstrap

这里需要注意的是express会去根目录下的public访问库文件,而bower安装则会在根目录下生成一个bower_components文件夹来存放下载的库文件. 这时候就需要在根目录下新建一个 .bowerrc 在里面写

{
  "directory":"public"//要存放bower安装的库文件的文件夹
}

4.angular的安装 这里需要注意的是用npm 和bower 都可以下载angular,但是这里比较推荐用bower来进行下载.两个安装的区别之一在于存放的目录不同 因为angular是要在html页面里面进行引入的,express对html的引入都会去从public里面去找, '''

###2. app.js进行依赖引入和初始化 app.js作为服务器端主程序文件

var express = require('express'),
    app = require('express')(),
    http = require('http').createServer(app),
    io = require('socket,io')(http);

app.use(express.static(__dirname)+'/client');

app.get('/', function (req, res) {
    //为什么不用res.render
    res.sendFile('index.html');
})
var connectedSockets = {};
var allUsers = [{nickname:''}];
io.on('connection', function (data) {
    socket.on('addUser', function (data) {

    });
    socket.on('addMessage', function (data) {

    });
    socket.on('disConnect', function (data) {

    })
})
http.listen(3000, function () {
    console.log('app is running at port 3000')
})

###3. 搭建文件目录结构

Chat
|--client
|  |--assets
|  |  |--js
|  |  |  `--client.js
|  |  `--css
|  |--index.html
|  |--message.html
|  `--user.html
`--app.js

© 著作权归作者所有

共有 人打赏支持
招展君
粉丝 0
博文 8
码字总数 2941
作品 0
闸北
程序员
从0开始用Nodejs做一个聊天室

Cover 效果图 老样子,还是先放个效果图,动态图,有点大(4M)请耐心等加载。 随便说说 最近在做东西的时候有一个对战功能,需要用到Socket技术,于是了解了一番相关的实现方案,最后选择了...

iimT ⋅ 05/13 ⋅ 0

【求助】谁知道 node-websocket-server 框架怎么用,麻烦帮忙看一下

本人是名在校大三学生,刚接触nodejs不到一个星期,看了node入门 然后主要是想用nodejs结合websocket和WebGL搞一个小开发,正好在本站和其他地方都有许多讲nodejs与websocket结合的文章,其中在w...

冯焰 ⋅ 2012/02/04 ⋅ 2

為什麼 Node.js 不適合大型和商業專案?

JavaScript 和 Node.js 一直都是這幾年的話題,無論是前端還是後端,到處都可見 JavaScript,就好像爬滿了你全身上下,他們不斷地對你說道「嘿!老兄!快來用我吧!」。 為什麼 Node.js 會這...

临江仙卜算子 ⋅ 05/25 ⋅ 0

Node.js+Socket.IO实现的WebSocket群聊天室源码

首先上图上实例 聊天室地址:http://chat.52itstyle.com WebSocket简介 谈到Web实时推送,就不得不说WebSocket。在WebSocket出现之前,很多网站为了实现实时推送技术,通常采用的方案是轮询 ...

小柒2012 ⋅ 2016/07/13 ⋅ 1

nodejs入门——搭建一个聊天室应用

个人博客 http://mvc.coding.io/ 1入门教程推荐 node入门 很早之前看的就是这个,比较浅显易懂,看一遍就明白nodejs到底是怎么一回事儿了 2开源项目 昨天在coding上看到了一个nodejs聊天室,...

蛙牛 ⋅ 2014/08/06 ⋅ 6

细谈Node.js----我的笔记

学习心得 如何利用Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。N...

crossmix ⋅ 2016/01/04 ⋅ 0

使用 Node.JS 构建 Long Polling 应用程序

Comet是指基于HTTP长连接的“服务器推”技术,是一种新的web应用架构。基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程序推送数据,而不需要客户端显示的发出请求。非常适合...

红薯 ⋅ 2011/10/21 ⋅ 2

Nodejs学习路线图

Node.js的介绍 Node.js的是建立在Chrome的JavaScript的运行时,可方便地构建快速,可扩展的网络应用程序的平台。Node.js使用事件驱动,非阻塞I/O模型,轻量、高效,可以完美地处理时时数据,...

数通畅联 ⋅ 2016/01/26 ⋅ 0

Node.JS 学习路线图

 从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开...

永和 ⋅ 2016/06/12 ⋅ 1

Node.JS 学习路线图

原文出处:张丹的博客(@ConanZ) 从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。...

张丹的博客(@Conan_Z) ⋅ 2014/06/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

中标麒麟(龙芯版)7.0优盘安装

########################################## 制作U盘安装盘: 1.准备U盘: PMON环境下U盘必须格式化成ext3; 昆仑固件环境下可以格式化成ext3,ext4 2.把整个镜像 xxx.iso 复制到U盘下面 3....

gugudu ⋅ 10分钟前 ⋅ 0

老司机写的大数据建模五步走

本文将尝试来梳理一下数据建模的步骤,以及每一步需要做的工作。 01 第一步:选择模型或自定义模式 这是建模的第一步,我们需要基于业务问题,来决定可以选择哪些可用的模型。 比如,如果要预...

gulf ⋅ 19分钟前 ⋅ 0

PacificA 一致性协议解读

PacificA 的 paper 在 08 年左右发出来的,比 Raft 早了 6,7 年。 在 PacificA 论文中,他们强调该算法使用范围是 LAN (Local Area Network),讲白了就是对跨机房不友好。 不管是 ZAB,Raf...

黑客画家 ⋅ 22分钟前 ⋅ 0

盘符图标个性化

设置自己的专属盘符图标 准备ico格式的图片文件一个,在根目录下创建autorun.inf文件 文件内容 [Autorun]icon=logo.ico 重新启动或者插拔U盘即可看到结果...

阿豪boy ⋅ 22分钟前 ⋅ 0

Windows下QQ聊天记录中图片的默认存放位置

Windows下QQ聊天记录中图片的默认存放位置在设置中是没有说明的。 实测位置在:D:\Documents\Tencent Files\974101467\Image 其中: “974101467”为对应的QQ号; “C2C”为个人之间的聊天图...

临江仙卜算子 ⋅ 28分钟前 ⋅ 0

GC 的三种基本实现方式

参考资料《代码的未来》(作者: [日] 松本行弘)。 由于并非本人原著(我只是个“搬运工“),SO 未经本人允许请尽情转载。 另外个人像说明一下这里所说的GC指泛指垃圾回收机制,而单指Jav...

xixingzhe ⋅ 29分钟前 ⋅ 0

Android双击退出

/** * 菜单、返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode......

王先森oO ⋅ 33分钟前 ⋅ 0

idea 整合 vue 启动

刚学习Vue 搭建了一个项目 只能命令启动 Idea里面不会启动 尝试了一下修改启动的配置 如下: 1.首先你要保证你的package.json没有修改过 具体原因没有看 因为我改了这个name的值 就没办法启动...

事儿爹 ⋅ 39分钟前 ⋅ 0

redis在windows环境的后台运行方法

在后台运行,首先需要安装redis服务,命令为 redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动,命令为 redis-server --service-start 停止,命令为 redis-...

程序羊 ⋅ 42分钟前 ⋅ 0

比特币现金开发者提出新的交易订单规则

本周,四位比特币现金的四位开发者和研究员:Joannes Vermorel(Lokad),AmaurySéchet(比特币ABC),Shammah Chancellor(比特币ABC)和Tomas van der Wansem(Bitcrust)共同发表了一篇关...

lpy411 ⋅ 46分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部