网络编程

Posted wr13640959765

tags:

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

 

  • 架构 -- 程序员开发的一种模式
  • C/S架构 客户端/服务器模式
  • B/S架构 Browser浏览器/服务器模式
  • B/S架构的优势:统一了应用的接口
  • 网络通信编程:
    • 同一台电脑上两个py文件通信 --文件
    • 两台电脑 如何通信 -- 一根网线
    • 多台电脑 如何通信 -- 交换机
    • 更多台电脑 如何通信 --交换机+路由器
  •   技术分享图片
  • mac地址:物理地址
    • 在cmd查看命令 ipconfig -all
      • mac地址是12位十六进制组成
  • ip地址:是一个四位点分十进制组成(ipv4)
    • 端口 :操作系统为每个应用系统程序分配一个端口号
    • ip + 端口号 唯一确定某一个电脑上的某一个程序
    • arp协议:通过目标ip地址,获取目标mac地址
    • 技术分享图片技术分享图片
  • 给你一个ip地址,如何确定他是不是你当前局域网内?
    • ip地址 & 子网掩码
  • ex:
    • ip地址 192.168.1.12
      • 1100 0000.1010 1000.0000 0001.0000 1100
      • 1111 1111.1111 1111.1111 1111.0000 0000
    • 结果 1100 0000.1010 1000.0000 0001.0000 0000
      • ---> 192.168.1.1 网段
      • 子网掩码 255.255.255.0
  • 用网段来确定一个ip地址是否在你当前的局域网内
  • 网段 = ip地址 & 子网掩码
  • 技术分享图片
  • 路由器:
    • 有一个路由表,记录了归它管理的所有的网段
  • 协议:由多个人制定的一种规则
  • 通过socket模块去操作tcp和udp协议
  • TCP协议:安全可靠通信方式,面向连接
  • UDP协议:不安全,不可靠的通信方式,快
  • ip地址:127.0.0.1:回环地址:无论什么时候,都可以代表本机的ip地址(仅限在本机使用)
  • tcp协议:
  • 三次握手:注意必须是client先发起请求
    • 1 client发送给server我想连接你,可以么
    • 2 server回复client,可以,我也想连接你,可以吗?
    • 3 client回复server,可以
  • 四次挥手:谁先发起请求都可以
    • 1 client发送请求:我准备断开连接了,我没有数据需要发送了,如果你有数据可以继续发给我;
    • 2 server回复: 确认接收到你的请求,我开始着手准备断开事宜
    • 3 server回复:我准备好了,可以随时断开连接
    • 4 client回复:断开连接吧
  • 技术分享图片  
  • OSI五层模型:
  • 应用层 py文件
  • 传输层 tcp/udp协议
  • 网络层 ip协议
  • 数据链路层 arp协议,网卡
  • 物理层 网线,集线器,光纤
  • 技术分享图片
  • 技术分享图片

     


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

Linux高级网络编程系列教程

Linux高级网络编程系列教程

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

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

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

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