day32(网络编程1)

刘洋    qq: 51 10086 19

接下来的安排:
  一周的网络编程
  七天的并发编程
  前端...
  数据库...
  项目..
 
网络编程第一天

今天的安排:
   哔哔一会理论知识
   通信 -- 程序编码

   架构  --  程序员开发的一种模式
   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.0 网段
    
  子网掩码  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协议,网卡
  物理层       网线,集线器,光纤
 
 
 
  上边必须整理到博客园
----------------------------------------------------------------------
  这里必须背过的东西,面试题
 
  1 arp协议
  2 tcp和udp的区别
  3 tcp三次握手和四次挥手
  4 什么是协议
  5 tcp协议编码流程
 
 
----------------------------------------------------------------------- 
 
  编码作业:
 
    写一个小型聊天程序,1v1(基础版本)
   
    如果可以的话,写一个1v多的(升级版本)
原文地址:https://www.cnblogs.com/zhaosijia/p/9325262.html