5层网络协议
- 应用层
- http (80)
- FTP (21)
- SMTP (25)
- POP3 (110)
- DNS
- 传输层 (运输层)
- TCP
- UDP
- 网络层
- IP
- ICMP
- 数据链路层
- PPP
- SLIP
- 物理层
- ISO2110规范
TCP/IP
信息:吃了吗?
GET /test?param=111 HTTP/1.1
http协义定义的报文格式
var net = require('net');
var server = net.createServer();
server.listen(12306, '127.0.0.1');
server.on('listening', ()=>{
console.log('服务已经启动了');
});
server.on('connection', socket=>{
console.log('有新的连接');
socket.on('data', ()=>{
console.log(data.toString()); // 这里出现完整的报文信息
});
});
主要关注
net.Server
扮演服务端
- 事件
- listening 监听端口后触发的事件
- connection 当有客户端请求链接时候触发
- close 服务器关闭时触发
- 不常用,因为我们关闭服务器的方式通常杀线程来关闭
- error 服务器出现错误时触发
方法
事件
- connect 连接到服务器时触发
- data 当接受到数据时触发
- 一般是做参数
- end 写入数据完成后调用
- timeout 趕后触发
- error
- close socket关闭时触发
- 属性
- remoteAddress 服务器地址
- remotePort 服务器端口
- localAdress 本地地址
- localPort 本地端口
- 方法
- connect 连接服务器
- setTimeout 设置超时
- write socket中写入数据
- end 写入结束