网络数据交互(网络通信)
模块:Net和HTTP
Net
ip地址和端口号
套接字Socket简单模型
Node.js中然后实现套接字
Node.js进程管理
Net.Server对象
Net.Socket对象
Process模块获取终端输入
多人广播消息
ip地址和TCP/IP,端口
IP地址:唯一性,用来定位计算机
TCP/IP:TCP和IP合称
包含因特网整个TCP/IP协议簇:在应用层里包含HTTP,TFTP,DNS等
TCP(传输控制协议):是一种稳定可靠的传输方式
TCP负责发现传输问题,一有问题就发送信号,要求重新传输,
直到所有数据安全到达目的就为止(进制有办法判断)
IP:是给互联网的用户规定的地址
套接字Socket简单模型
Socket定义
网络通信(数据传输)的基本操作单元(遵守TCP/IP协议)
Socket就是对TCP/IP协议的封装,本身不是协议,而是调用接口(API)
Socket对象
在实现TCP/IP协议中---是不是要传输相关的信息,才能建立相应的连接?
Socket对象就是提供双方进行确认是否是自己改对接数据的证明
可看作:不同主机之间进程进行双向通信的端点
通信两方的一种约定
程序层面:接口对象
网络编程:套接字,常用于描述IP地址和端口
Socket包含:连接使用协议, (网络编程必备的5种信息)
客户端设备的IP地址,
客户端的端口号,
服务器的IP地址,
服务器端口
套接字地址:IP和端口号的组合
套接字服务和其他网络服务不同,不需要处理网络中的GET或POST请求
而是采用点对点传输数据的方式,是一个轻量级的网络通信解决方案
在套接字服务中:服务器用来监听连接,
客户端用来打开一个到服务器的连接
服务器和客户端需要一个唯一的IP地址和端口号组合
实例:客户端-------将自己的IP地址和端口号放入浏览器的Socket对象中-------->服务器设备
服务器软件---1.从Socket对象中取出客户端的IP地址和端号2.发送数据-------------->客户端
由此可得:Socket是一个封装了IP地址和端口号的接口对象而已
Node.js本是类似apche服务器的项目 本身就是一个服务器
在进行网络编程时,每一个进程构成网络应用中的一个节点
Node.js中的套接字服务由Net模块提供
Net模块
var net =require('net');
Net模块可以创建一个TCP或本地服务
Net.Server对象
API读取和写入Socket等操作
使改服务器生命周期存在一些可触发事件
Net.Socket对象
调用底层Socket接口,实现数据传输功能
可读流,可写流
同时在服务端和客户端上创建,并且允许数据在它们之间进行读取和写
一旦Socket对象被创建,它将提供一些在服务器连接生命中可触发的事件