zoukankan      html  css  js  c++  java
  • python 26 days

     

    python 26 days

    架构、网络编程基础、广播、广域网、tcp和udp、端口号、三次握手、四次挥手、七层OSI模型

    1、架构:

       C/S架构(鼻祖)
       c:client 客户端
       s:server 服务器
       B/S架构(隶属于C/S架构)
       b:browser 浏览器
       s: server  服务器
      
       B/S架构的优点:统一了应用的入口(是一个趋势)
     
    ==============================网络编程基础========================
     
      2、同一台电脑上两个py文件通信:文件
      网卡:网卡生产厂商生产的,不是电脑厂商生产的
      网卡上有一个mac地址,又叫做物理地址,全世界唯一
      查看mac地址命令:ipconfig -all
     
     
      3、两台电脑如何通信:一根网线
     
      4、几十台电脑如何通信:局域网
     

       交换机通信:
           广播:吼一嗓子
        单播:方向固定的向某一个主机发送
        组播:朝某一部分或某一组主机发送
       
     ip地址:是一个四位点分十进制的一串数字
     子网掩码:是计算机根据你的ip地址生产的一个东西
     网段:ip地址  &(与)  子网掩码
     
     ip  :192.168.12.84

     
           11000000.10101000.00001100.01010100
           11111111.11111111.11111111.00000000
        -----------------------------------
        11000000.10101000.00001100.00000000
        192.168.12.0
       
     子网:255.255.255.0
     
      5、更多电脑之间的通信:
         广域网  交换机+路由器+代理ip
     

      6、库 == 模块 :别人已经写好的代码,我可以直接拿来调用
      
       tcp和udp协议都是基于socket模块
       tcp:安全可靠,面向连接,字节流服务--代表没有边界
       udp:不安全不可靠,不面向连接,但是效率高
     
      7、端口号:
         ip + prot 唯一确定一台主机上的某一个程序
         允许开发人员使用的端口号范围从8000开始 8000-10000  
     
     
     
    三次握手:
     
    四次挥手:
     
     
    osi七层模型:
     
     
     
     
    服务端与客户端之间的通信例题:
     
    import socket
    
    ju = socket.socket()       #我买一个手机
    ju.bind(('127.0.0.1',8090))    #买一个电话卡,装上
    ju.listen(6)                   #告诉了几个人我的手机号
    fd,add = ju.accept()           #等着别人给我打电话
    # msg = fd.recv(1024)
    # print(msg)
    while True:
        msg_r = fd.recv(1024).decode('utf-8')
        if msg_r == 'q':
            break
        print(msg_r)
    
        msg_s = input('>>>')
        fd.send(msg_s.encode('utf-8'))
        if msg_s == 'q':
            break
    
    fd.close()
    ju.close()
    服务端展示
    mport socket
    
    ju = socket.socket()     #我买了一个手机
    ju.connect(('127.0.0.1',8090))    #买了一个手机卡,装上
    # ju.send(b'nb')
    while True:
        msg_s = input('>>>')
        ju.send(msg_s.encode('utf-8'))
        if msg_s == 'q':
            break
    
        msg_r = ju.recv(1024).decode('utf-8')
        if msg_r == 'q':
            break
        print(msg_r)
    
    ju.close()
    客户端展示
    面试题:
    真实的:
      1、你知道哪些研发相关的架构?
      2、arp协议做了什么事情?
      3、交换机的通讯方式?
      4、你认为tcp和udp的区别?
      5、请描述出osi五层模型?
    我出的:
      1、网段ip怎么确定?
      2、请描述B/S架构的优势
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    [转]以安装桌面体验功能为例来探索windows2012服务器管理器的新变化
    [转]DPM2012系列之十六:在SCOM2012上集成DPM2012中央控制台
    [转]DPM2012系列之十二:还原exchange2010用户邮件
    Windows Phone Dev Center How to deploy and run a Windows Phone app
    [转].NET StockTrader 6 Sample Application
    [转]DPM2012系列之一:安装Data Protection Manager 2012
    [转]DPM2012系列之二十:保护Windows server 2012
    [转]DPM2012系列之十七:如何将备份文件恢复到网络共享文件夹
    [转]DPM2012系列之十四:备份SQL server 2008R2数据库
    [转]使用SCOM 2012监控网络
  • 原文地址:https://www.cnblogs.com/juxiansheng/p/9134254.html
Copyright © 2011-2022 走看看