网络编程
很多高精尖的技术,都是因为军事上的需要而被发明出来,并应用,电脑也不例外,然而,有了电脑后,又出现了新的需求,
那就是,如何把不同距离的电脑进行互联,传输数据,于是出现了以太网协议和交换机设备,可以实现局域网的计算机可以互联,传输数据.
但,仅限于局域网.再到后面,随着科技的发展,出现了IP协议和路由器设备,终于实现了让所有的局域网进行互联互通,传输数据,形成了当今的因特网.
IP协议:会给网络上的每一台计算机分配一个IP地址,类似于门牌号.以辨识计算机身份和数据传输.
IP地址:分为IPV4和IPV6
OSI七层考模型:
应用层
表示层
会话层
传输层
网络层
数据链路层
物理层
也可以简化为五层:
应用层
传输层 >>>包含TCP/UDP协议,两种协议均基于端口工作.举例:有A电脑和B电脑,A电脑上的QQ,可以通过B电脑的IP加上B电脑上QQ的端口号,和B电脑上的QQ进行数据输
在开发程序时,建议将端口号设置到8000以上,以避免与其他程序冲突.
TCP协议采用双通道处理数据,即一条发送数据通道和一条接收反馈的通道.
使用TCP协议流程:
三次牵手:
四次挥手:
网络层 >>>基于IP协议,给每台计算机分配IP地址,以标示身份
数据链路层 >>>规定了电信号的组方式及每台连入因特网的计算机均需要网卡,基于此建立了以太网协议
物理层 >>>基于电信号传输数据