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架构的优势
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/juxiansheng/p/9134254.html