今天看了《nodejs实战》第二章,构建聊天程序,对node练了练手,趁热打铁,将看过的东西记录下来。
涉及模块
- http 模块用来创建http服务
- fs 用来处理静态文件
- path 文件系统路径相关
- mime 根据文件的扩展名,得到文件类型, 如:text/html
- socket.io socket模块
思路
1.创建文件服务器
- http创建服务器,处理请求,获取请求路径
- 首先在缓存中读取,若无缓存,通过fs读取对应的html文件并转发
- http监听端口
2.创建socket通信
- 通过socket.io进行连接,包括客户端和服务端两部分
- 连接成功为用户分配id,名称,并绑定消息事件
- 客户端与服务端通过emit,on进行事件的监听与触发,进行交互
总结
整体思路清晰简单,因为有socket.io 客户端及服务端的封装,整体通过事件进行交互很简单明了。下面对这几个模块的常用API进行总结
HTTP
直接使用
- http.STATUS_CODES 状态码
- http.createServer
- http.request(http.ClientRequest)
- http.get
- http.globalAgent
- http.IcomingMessage
回调参数
- http.serverRequest
- http.serverResponse
- http.Agent
点击看这篇文章,里面讲解的很详细
fs文件系统
常规操作
|
|
文件读写
|
|
目录操作123fs.mkdir(路径,权限mode/777,回调函数); fs.rmdir(路径,回调函数); fs.readdir(路径,回调函数(err,fileNameArray));
其他常用
|
|
path
路径操作
|
|
socket.io
配合socket.io模块,可以很简单的进行websocket通信,具体使用方法如下:
二者通过事件进行消息传递,简单好用。
1.服务端
|
|
2.客户端
|
|