|
NodeJs+mongodb+webSocket开发多人即时聊天室2017年传ZB客 高清视频+源码 共6.12G/ O" e3 a$ x# c& g
/ e$ t8 B: I% _1 [/ f5 N课程目标:/ ~6 u) o2 E$ p" t! ]5 ^% ^" _7 A
如果你是一个前端程序员,你不懂得像PHP、Python或Ruby等动态编程语言,然后你想创建自己的服务,那么Node.js是一个非常好的选择。Node.js 是运行在服务端的 JavaScript,如果你熟悉Javascript,那么你将会很容易的学会Node.js。可以掌握MongoDB基础知识与操作,并可以使用MongoDB做实战开发。​想要使用NoSQL开发人员,初学MongoDB人员' t- v! p; t' o% _4 o
7 g+ L7 G( X/ R7 x# `9 n2 Q) a" N$ Z
5 S/ h( ?4 b" v* c适用人群:
3 c/ `. m6 y' f% T, J8 o 对计算机或互联网感兴趣者!) c) E Z7 H: G# {, a: K% ]; i
. S, k* b% O2 _1 c* n( W/ A8 B' Z$ K1 D. `/ O) M
! r- `. Z8 i7 B% X6 q" o课程简介:) i% z" J! ~/ s: f1 N9 N O
nodejs简介:- d. ]. Y) L% y
Node.js是一个可以让javascript运行在服务器端的平台,它可以让javascript脱离浏览器的束缚运行在一般的服务器下面,你可以用Node.js轻松地进行服务器端应用的开发。Node.js是一个为实时Web应用开发而诞生的平台,它充分考虑了在实时响应和超大规模数据下架构的可扩展性,这使得它摒弃了传统的平台依靠多线程来实现高并发的的设计思路,而采用了单线程,异步式I/O和事件驱动的设计模式。这些特性不仅带来了巨大的性能提升,还减少了多线程程序设计的复杂性,从而提高了开发效率。
: F9 c1 c1 h# K L4 S' G5 _, d4 X+ m# v9 z8 E) u1 C% R% p; h
websocket:% D! I1 E/ B2 m/ `) u f
E& e `/ n1 s6 L& z0 p$ z# C* c6 E2 I websocket协议是html5中的一种新的协议,它实现了浏览器与服务器的全双工通信。传统的我们通过http协议实现即时通讯时是这样做的,首先由浏览器对服务器发出http request(请求),然后服务器响应客户端的浏览器。这种模式所带来的弊端就是浏览器需要不断的向服务器发出请求。但是我们知道http request 的头部(header)非常长,有时客户端请求的只是很小的数据量却要附带这么长的头部信息,这样似乎在浪费网络带宽。而是用websocket协议,这时浏览器和服务器只需要进行一次握手的过程,之后,它们之间便形成了一条快速通道,接着就可以随时互相发送数据。这样不但响应速度快,而且避免了每次都发送请求头。7 A1 \6 |/ x) s; _# n) ?, A. W t/ K# G i5 G l/ l- I0 L
3 j& e0 c( a& s4 Y
# l, [, W( [( |& J6 q. ~ mongodb数据库:% r& }: `1 j3 M1 u8 y$ o& b- M8 W6 t% h6 w6 H2 F# Q0 S/ n
mongodb是一个面向文档的非关系型数据库,它具有高性能,易部署,易使用,存储数据方便等优点。它支持的数据结构很松散类似json格式。它也是面向集合的,数据被分组存放在数据集中,每个数据集就是一个集合,每个数据库包含若干个集合。
9 w6 g9 F) x6 T+ _% }3 v) f$ t X) j- V% i
7 h7 Z$ T. I+ l) ?" M+ X. q9 @实现和效果:
2 A2 s( Q4 |, n6 Q: H7 Y. C7 K 下面要介绍的是使用nodejs实现的即时聊天室,主要用到的是websocket协议,数据库中存放用户民和密码。首先服务器打开一个socket端口3000开始监听客户端的连接,接着客户端浏览器建立socket连接,用户登录时填写用户名和密码,服务器端查询mongodb数据库验证用户名和密码是否正确,用户登录聊天室后可以开始发送消息给其它在线的用户8 U7 F/ E0 B3 l; |% o7 Z/ U
+ G! T2 n6 ?' d% }* M9 ^4 |5 W3 e" A
! ~$ E: f8 O! d* d) r课程目录:' _# c% o1 ]2 _6 _- g
NodeJS第1天/ U# g8 \# T- o5 m8 J
01_NodeJS简介.avi" [$ m* @* j# X8 n$ o
; U) t* W6 z/ R0 k: l 02_NodeJS特性1.avi( z( `$ ~ P5 N# n7 Q" n w0 h" T# `, [0 {* ~4 l
03_NodeJS特性2.avi( q8 q' C; M: q, o Y' C$ j8 k! d$ ?1 z5 b/ p# A
04_HelloWorld.avi5 P: B" K* O* J5 T2 Y& ? X! `1 G% L) g# w0 H) Q
05_NodeJS没有web容器的概念.avi0 O- ~+ ]7 b; v0 I9 L- O4 a: h( F+ q- K, H9 g- d( J) d/ o" p
06_http模块简单讲解.avi7 H1 H4 C2 F; x" x& Q/ A
7 X( C! j% W+ m; G% A3 v" h 07_http模块.avi( j# S k0 r9 v v: n# `6 F& g+ G; `# [4 E3 k4 R1 Y# K
08_url模块.avi3 w v" o& `) Z4 s n6 |3 b$ X) K" o( x( F
09_url的parse.avi
- T+ ~' i4 F: j) i$ ~3 E4 h( e 10_简单的小路由演示.avi+ Y/ Y' {5 o/ G) [/ X, u6 H
11_探求事件环机制.avi) P5 I# k# t G. n, Z. X3 G _5 }, v$ a
12_fs模块的功能.avi6 N$ G, Q. k6 ~: G- ^# h L
13_把异步变同步.avi
7 J9 C, z7 a/ B: d 14_静态资源文件管理.avi% U$ H* l9 A. A }' t) H" L
# g6 P, R' D; Y6 f- l9 J- ~3 E3 ^: l# ~; E1 s
8 a6 B, m2 ? E3 j NodeJS第2天, P2 ^- f/ V' v& x- _/ E9 ]8 d! B* k) q" T; G& f
01_复习.avi
" O! ?, f- q8 ^+ a% U' _ 02_复习.avi7 e' S7 u. h4 F' B0 L- @: b* Q2 q# x
03_复习.avi
2 Z0 Z4 n( a2 N 04_模块的概念.avi1 j7 z4 ~2 R1 J+ d6 w7 u1 X
05_文件夹模块和package文件.avi- e& i u6 N- p. J8 ~
06_npm.avi; b! | u: w$ S1 V" x5 T# P2 k2 @$ B) I
07_路径.avi
, T8 O- y$ i+ I: T 08_post请求.avi; p" w# Y9 l; y$ {* h* y+ d( ?# g
09_formidable.avi# D6 R& R* F" T$ H0 L$ Y H) ]" b/ S- l
10_上传改名.avi4 w b( j% H! g
/ f( W8 k& z- c3 a( V* ? 11_ejs模板引擎.avi8 W( {: F. i: o v. W* }- }
; ]0 t2 u0 ?7 C 12_jade模板引擎简介.avi5 {6 W3 g* l; k1 K) S' }8 y& [2 X4 R- g/ `9 N) ~3 q
13_作业.avi9 {8 t* |; m! i* a; `5 ?0 M! m: E' E o9 G# @
3 v v5 x4 J, p" G+ p- C( Z( Z
4 f: S: w& ?9 f* ?. i S" h& V9 h6 k NodeJS第3天; m( l1 m! _5 ~
. y. V" V$ B. \2 Z) H+ o/ U 01_Express框架.avi
7 B6 s! h! s E; M 02_路由.avi5 F# z" U3 A$ Y: i& j
4 F! U1 h/ L. y: }; y 03_中间件.avi# x( ?! {9 z+ w/ O+ K
7 O5 z6 U: w/ z9 k6 ]& E3 R 04_中间件.avi
& p( U2 L3 L! h4 N 05_render和send.avi
& C! @6 K |! K: l; L5 A3 | 06_get请求和post.avi. Q4 ?2 l$ |* m( z) a; j# Z, u& G4 p5 N3 M2 ~5 f
07_缕缕API.avi
+ t, n/ ?8 V) N5 G' o 08_小小相册.avi$ \" D/ W: G2 q+ j+ \. \% r; K- y' n2 {4 ?% D% \
09_小小相册.avi0 M$ G' \4 E( `/ c! Z6 a* R
% I0 O- Q: [6 |8 f) P& _ 10_小小相册.avi
5 h {" G& o! r1 @5 j. V1 _7 ^- o1 @; F& f2 [9 B/ b" G% E" {
NodeJS第4天( H r0 s9 m% ^$ D* H) X1 R5 y$ F
01_后台ejs.avi1 J& x' g. y# c8 j+ P3 ~
% F7 z. E( f B) [ 02_用Ajax请求数据.avi, X3 J$ m. W/ Y3 Y! z
03_小小相册(上).avi- \# p" A, d( D5 @# X# R, r
04_小小相册(下).avi. A0 u: H; s9 p( O. l# }: P6 T- `2 u% O) H. B+ a p' o1 P* @ i
05_看看老牌数据库.avi* r/ u9 o7 D5 `# X# L; y
06_NoSQL介绍.avi
' p+ m' }8 w+ U: p) C 07_MongoDB安装.avi
; Z: F" A; ]" Q 08_MongoDB的使用.avi. l: L: S0 f" t- \1 M+ y! R7 A
09_插入和查找数据.avi8 K6 T6 Q S, b1 X& [, @: l
10_插入和查找数据下.avi. a5 c" K$ X/ C! v+ v4 g
11_删除和更改.avi7 H& a* P3 Q7 q) F4 Y6 o: e9 ]! U( r0 c
2 {1 |& H5 H: j5 g NodeJS第5天
1 H" r4 S& R+ j 01_复习数据库.avi! a, y& Z' t: H+ S5 g7 L0 }4 p1 o ]$ k
02_DAO层的封装.avi* A+ y5 x9 r; p4 t2 \+ L
* ?% O* t% x0 r4 Q% l. [ 03_find函数封装和分页.avi- n- i/ y# L/ a# k( T8 q7 P& L# u" k
04_更改和删除.avi; O) N% v% p; D! W* K8 K' t! _) }+ A5 Z
05_小小留言本.avi# Y/ b/ ] Q; k$ o6 _- {) h
06_小小留言本.avi+ H! P% V' C4 b5 s3 Q5 e* {
; B+ y8 l! z; K7 }6 `) x 07_小小留言本.avi
; H$ P$ L" t( l" ^; Z/ b 08_小小留言本.avi3 q) N G2 \7 Q/ c- w6 K4 N! ~7 w" ?+ R
09_cookie.avi
, e% M6 e3 s) u! _ 10_session.avi) |+ F1 E+ U! U4 u
11_MD5介绍.avi- h% }: G# Y; g E& Q* @* g9 ?
0 G; `# ^3 u# o2 o ~4 I: d3 \/ P: l$ G& c& {% B
NodeJS第6天
4 \! m6 }/ J$ c6 S 01_复习.avi1 b! O$ g: a6 i* o3 H- i
02_md5加密.avi \; m6 g1 t) G* b
03_有加密的注册登录表单.avi$ U7 y) v4 z9 \* t
) B6 v, V# W; v- | 04_加密登陆.avi7 l& p, c9 a' ]: W8 r2 V$ }4 f$ Y- H2 K6 v# ]1 V v
05_gm图像处理.avi- z0 ]) P) L) Z: E5 G" ~
* s' C0 m' F- F 06_图像剪裁前台.avi4 v$ C2 S/ Z" [0 d5 o- U# [! N* |6 V' G
07_有前台界面的图片剪裁.avi" V& Z' U# w; Y6 g1 h
08_班级说说-初步结构.avi
6 w, @4 f; E( x% w, J7 A 09_班级说说-注册业务.avi% s Q% T4 n5 r& C! T* |
10_班级说说-登陆业务.avi7 ` l/ i, x& N; U
1 q( ^9 D8 A1 J" Y" R 11_班级说说-上传头像.avi+ {0 u. n9 N' M
8 W, }; u( K2 H# d* J4 X 12_班级说说-头像上传.avi" d, `- f m: d) ^8 G# K/ @
' O, N( n) r: d) _( F7 d NodeJS第7天
5 R9 P& e6 v u6 L2 E" g5 J1 p 01_复习.avi
, {5 [4 d5 x4 M( g0 `1 c 02_索引.avi. ~3 Q8 M" u" [ y$ _* ^& Y. \" R# x3 s
03_发表说说.avi# N/ C5 R6 y: _- v' v) a, P& k0 f2 d
3 u7 [# [: B, Y+ g& l l 04_用Ajax列出说说.avi7 J8 F& z4 n4 u
; e8 F- a3 z: x9 p# F* j 05_首页列出说说.avi( u/ S5 V6 G5 U V" J7 d
06_分页.avi* T$ G! U2 T6 X' r" p' k" h; r1 ^7 G3 |. y8 z0 _* C2 e
07_成员列表和用户个人主页.avi& ?5 w# Q2 B+ X
08_用户列表.avi5 R' e; D4 t0 e q7 o+ u( v# H! F' g0 s& X
09_mongoose简介.avi1 H1 a1 R& y* p
10_mongoose.avi
( o* @4 s. O* L 11_mongoose.avi1 ~5 Q, B. b- M! h# a3 U
) y2 Z& K3 U1 o' q7 _3 H NodeJS第8天
* }9 P2 h: U+ p- X 01_知识复习.avi# M, |, N: m$ ^4 t: N
02_mongoose.avi* b) M2 f/ ~# T) ~8 r& b3 L7 C) c& H( k; }- J6 d
03_mongoose.avi$ J* V- W3 J8 g% n2 E1 s& C
04_mongoose.avi" h: ~& k! p8 a) N. L* x" w% `& J& J: t5 ]6 S4 D# n' _
05_mongoose.avi! m9 g- |# i0 N' \( S3 Z! e% i V7 s# w
06_mongoose.avi
- X+ K* r9 Z4 R- \/ o8 g 07_mongoose.avi4 F) [8 D& e' I/ M
08_mongoose.avi
1 }# F& W$ @0 P2 g- Z 09_webSocket协议介绍.avi/ I' E& E) ?, z' x' X9 \
* K: G9 J& g6 U% b: g" u8 B; c 10_webSocket协议.avi) f8 G; @! ~- M, _) x& G0 Q- p. ^
11_webSocket案例.avi) @0 X, R! R r1 u4 ~( a
9 a1 j6 y4 E r8 l: N m
& a! R" w ] c
2 N2 H1 Q7 S/ C9 y4 ^& d5 A9 h7 A+ {7 X6 [5 i# y0 o; q
5 B b, Q, g4 {) _5 ^7 F b
1 l) K9 o o5 E资源下载地址和密码(百度云盘): [/hide] 百度网盘信息回帖可见' {7 i: ?) [6 X# r% a$ S
^6 M% m3 x' I! c- n8 \; D0 _% l' ~
0 C3 u" ^- r" O! R+ m本资源由Java自学网收集整理【www.javazx.com】 |
|