websocket聊天室&node基础
------------------------回顾---------------------------------
WebSocket: 数据交互
1.性能高
2.双向--数据实时性
3.HTML5 IE9+
4.socket.io
跨域
socket.io
1.兼容的
2.二进制
socket.io
1.怎么用
2.聊天室
3.视频点播
Ajax跨域
jsonp
工具使用
------------------------------------------------------------
后台-node:
1.原生nodejs
2.nodejs框架
------------------------------------------------------------
nodejs:用javaScript写后台
1.性能高
2.跟前台配合方便
3.适合前端人员入门
------------------------------------------------------------
Java 大型项目
Node.js 小型项目、工具--中间层语言
------------------------------------------------------------
协议:
listen -- 等待客户端连接
端口--数字:区分不同服务
1.别人没用过
2.linux -- 只能使用1024以上的端口
3.每种服务都有默认端口:
web 80
ssh 22
ftp 21
mysql 3306
------------------------------------------------------------
Node.js
1.工具+中间层
2.http、fs
let server = http.createServer((req, res) => {
req.url/method/host/...
res.write/end
});
server.listen(8080);
fs.readFile(path, (err, data)=>{});
fs.writeFile(path, content, err=>{});
------------------------------------------------------------
res.writeHeader() => header 200/404
res.write() => body
-----------------------------------------------------------
WebSocket:
1.原生挺麻烦
2.socket.io 能兼容到ie6
3.天然跨域
-----------------------------------------------------------
聊天室:
1.用户的注册、登录
2.发言-->其他人
3.离线消息
数据-->数据库
1.用户
2.消息
-----------------------------------------------------------
数据库:
1.关系型数据库 --MySQL、Oracle
优点:强大(9分)
缺点:性能低 (7.5)
2.文件型数据库 --SQLite
优点:简单
缺点:支撑不了庞大的应用、没法存储特别的数据
3.文档性数据库 --MongoDB
优点:直接存储对象本身
缺点:不够严谨、性能偏低(6.5)
4.空间型数据库--坐标、位置
NoSQL:
性能(9)
Redis/memcached/bigtable/hypertable
-----------------------------------------------------------
MySQL:
库--文件夹:管理用的,本身不能存数据
表--文件:存数据
字段(列、域)
行
类型:
数字:
整数 tinyint(-128~127或0~255) int(-21亿~21亿或0~43亿)
浮点数 float--小数点后8位、double--小数点后308位
字符串:
小字符串 varchar(255)
大字符串 text(2G)
主键:
1.唯一
2.性能高
数据库的语言: SQL
四大查询语句(CRUD)--增删改查