网络编程
1.1 网络传输相关概念
网络:互联网的网络传输;
IP地址和MAC地址:在互联网中的任何一台主机都具有一个逻辑地址【IP地址】和一个物理地址【MAC地址】
一台主机可以有多个IP地址【地址转换和地址解析】,但是只能有一个物理地址【全球唯一标识】;
端口号:在一台主机上对于不同的通信协议的标识号,就是端口号;一种通信会对应一个端口号;1024以内的端口号是系统内部使用的;
用户自定义的端口号要在1024意外定义;注意常用的端口号:80 20 21
协议:网络通信中会存在多种协议;具体协议参考ISO的OSI模型;或者工业应用的 tcp/ip协议模型;
OSI模型和Tcp/Ip协议模型:OSI模型是理论上的标准协议模型;TCP/IP协议模型是工业应用中的标准;
网络模型是现有工业应用的Tcp/ip协议模型,其后才制定了理论上的OSI模型;
扩展:模型中各层运行的设备和协议,需要掌握,面试中会问;【课下扩展,参考:https://www.cnblogs.com/qishui/p/5428938.html】
1.2 TCP和UDP通信协议
TCP协议:
可靠的;双向的;面向连接的通信协议;
TCP的通信机制:【课下扩展】
建立连接的三次握手机制;
释放连接的四次握手机制;
TCP通信效率低,耗费资源;
UDP协议:
单向的;不可靠的通信协议;
UDP的通信机制:
单向的广播式的通信机制;
UDP通信效率高,节省资源;
1.3 基于TCP的网络通信编程
使用工具类:Socket和Serversocket这两个工具类;
使用到的知识点:多线程、IO流、Socket/ServerSocket
课堂思维导图:https://www.processon.com/view/link/604882ff6376893db7d6c377