网络编程

Posted lovezwfjc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络编程相关的知识,希望对你有一定的参考价值。

网络基础知识相关

    架构

      c/s架构:client 客户端 和 server 服务端

      B/S架构:browser 浏览器 和 server 服务器 隶属于C/S架构

          B/S架构 统一了引用的接口

 

1         MAC地址:是一个物理地址,电脑出厂自带,都是唯一的.

2         IP地址:是一个四位带你分十进制,他标识了计数机在网络中的位置,类似于学号

3          交换机的通信方式:

      广播:类似于以前村里开会村长喊广播

      单播:一对一

      组播:一对多

4           arp协议:通过目标IP地址获取目标MAC地址的一个协议

5           端口:操作系统为本机上每一个与你运行的程序都随时分配一个端口,其他电脑上的程序可通过端口找到获取到这个程序

    ip地址 + 端口 能唯一找到 某台电脑上的某一个服务程序

6  路由器 : 链接不同的网段  路由

7   网关 : 类似于一个局域网的出口和入口

8   网段: 一个局域网内的ip地址范围

9   子网掩码: 一个局域内的ip地址范围

10  osi五层魔性

  应用层 :  http , https, ftp

  传输层: tcp /udp  四层交换机 四层路由器

  网络层:  ip协议  路由器 三层交换机

  数据链路层: arp协议  以太网交换机 网卡 网桥 

  物理层  传输电信号   集线器  网线   光纤

 

socket 模块

  import socket

  socket 又叫做套接字

  sk = socket.socket(family = AF_INET,type = SOCK_STREAM)

  family:

    一种: AF_UNIX基于文件类型的套接字(早期socket是源自于unix系统而研发的一个功能,主要是为了同一台电脑上,多个程序直接通信)     unix系统的中心思想是 :  一切皆文件

  一种 : AF_INET基于网络类型的套接字

        type:

          一种是基于TCP协议   SOCK_STREAM

          一种是基于UDP协议   SOCK_DGRAM

        tcp 协议 : 可靠的,面向连接的,面向字节流形式的传输方式

        udp协议 : 不可靠的,不面向连接的,面向数据报的传输方式,但是它快

 

说说交换机和路由器的区别?

  交换机的主要功能是组织局域网,经过交换机内部处理解析信息之后,将信息以点对点,点对多的形式,发送给固定端

  路由器的主要功能 : 进行跨网段进行数据传输 ,路由选择最佳路径

  如果你需要将多态电脑连接到一根网线,用交换机即可

  如果你只有一个外网ip , 但是你有好多台电脑需要上网 , 用路由器即可

  

socket 模块

  TCP协议  面向连接  可靠的  面向字节流形式的

  UDP协议  无连接的  不可靠的  面向数据报形式的

 

TCP协议编码流程

  服务器端:  客户端

  实例化对象:  实例化对象

  绑定IP地址和端口号

  监听

  接收客户端的链接:  链接服务器

  收发:    收发

  关闭:    关闭

 

  tcp三次握手:  一定是clinet先发起请求

    a  客户端发起请求连接服务器

    b  服务器返回: 接收到请求,并且要求连接客户端

    c   客户端回复 : 可以连接 

  

    四次挥手:  谁先发起断开连接的请求都可以

      a  客户端发起断开连接的请求:

          意思是: 我想和你断开连接,我没有数据要继续发送了 ,

            但是如果你有数据需要发送,我可以继续接收

      b  服务器回复: 我接收到你的请求了

      c  服务器发送: 我已经准备好断开连接了

      d  客户端回复: 收到你的信息,断开连接

 技术分享图片

技术分享图片

技术分享图片

技术分享图片

 

回环地址:  127.0.0.1  每个计算机都有的这么一个本机地址, 只能被本机识别 ,不会被其他机器识别

以上是关于网络编程的主要内容,如果未能解决你的问题,请参考以下文章

Linux高级网络编程系列教程

Linux高级网络编程系列教程

面向对象编程面向组件编程面向方面编程面向服务编程

编程范式:命令式编程(Imperative)声明式编程(Declarative)和函数式编程(Functional)

少儿编程教育未来前景如何?我想加入少儿编程这行。

TCP/IP网络编程——理解网络编程和套接字编程