1、网络编程
在计算领域中,网络是传输信息、接受、共享的虚拟的平台。
通过它可以把各个点、面、体的信息联系到一起,从而实现这些资源的共享。
网络编程从大的方面就是说对信息的发送接收。
通过操作相应API调度计算机资源硬件,并且利用管道(网线)进行数据交互的过程。
2、OSI 七层模型 (网络通信标准化流程)Open System Interconnection
ISO:国际标准化组织
应用层:提供用户服务,具体内容由特定程序规定
表示层:数据的压缩优化
会话层:建立应用连接,选择传输层服务。
传输层:提供不同的传输服务,流量控制。
网络层:路由选择,网络互联
链路层:提供链路交换,具体消息以帧发送
物理层:物理硬件,接口,网卡,线路。
优点:将功能分开,降低了网络传输中的耦合性,每一部分完成自己的功能。可以在开发和试试的过程中各司其职。
高内聚:单个模块功能尽量单一
低耦合:模块之间尽量减少关联和影响
实际操作中分成了四层或五层,没有那么理想。
四层
应用层:应用层 表示层 会话层
传输层:传输层
网络层:网络层
物理链路层:链路层和物理层
五层:(tcp/ip模型)
应用层:应用层 表示层 会话层
传输层:传输层
网络层:网络层
链路层:链路层
物理层:物理层
3、网络协议
协议(网络协议i):在网络通信中,各方必循遵守的规定。包括建立什么样的连 接,消息结构等。
应用层:TFTP HTTP DNS SMTP
传输层:TCP UDP
网络层: IP
物理层: IEEE
4、重要概念
主机:"localhost" 表示本台计算机
网络上: 只在本地测试使用
"localhost" "127.0.0.1"
如果想在网络上进行测试
“0.0.0.0”可用网卡ip ' ' 'windows下ipconfig查询' 本机IP
5、socket(套字节)
获取计算机名称 socket.gethostname()
获取主机IP socket.gethostbyname('计算机名称')
获取服务主机信息 socket.gethostbyaddr("www.baidu.com")
IP二进制变十进制:socket.inet_ntoa(b'\xc0\xa8\x01\x01') 运行:192.168.1.1
IP十进制变二进制:socket.inet_aton("192.168.1.1") 运行:b'\xc0\xa8\x01\x01'
查看应用端口号:socket.getservbyname("http")
6、IP地址