python-网络编程

2021-01-25 07:14

阅读:609

标签:ip协议   end   网络通   地址解析   路由   accept   tcp   close   通信   

1.osi五层协议

# 应用层
    # 传输层
        # tcp协议 : 效率低 面向连接\可靠\全双工的通信
            # 三次握手
                # 客户端向服务器端发送syn请求,
                # 服务端向客户端回复ack并发送syn请求,
                # 客户端接收到请求之后再回复ack表示建立连接
                # 由客户端的connect + 服务端的accept
            # 四次挥手
                # 客户端向服务端发送fin请求,
                # 服务端回复ack确认
                # 服务端向客户端发送fin请求,
                # 客户端回复ack确认
                # 有客户端的close和服务端的close
        # udp协议 : 效率高 无连接的\不可靠
        # 四层交换机 四层路由器
    # 网络层
        # ip协议(ipv4 ipv6)
        # 路由器\三层交换机
    # 数据链路层
        # arp协议 地址解析协议 通过ip找到mac地址
        # 交换机\网卡 : 单播 广播 组播
    # 物理层

2  b/s c/s架构

 C/S   client server
 B/S   browser server

 

3.简单的网络通信

#server服务端

import socket  #炒茄子

sk = socket.socket()          # 创建一个server端的对象
sk.bind((127.0.0.1,9001))  # 给server端绑定一个地址 ,可以写自己的IP地址
sk.listen()                   # 开始监听(可以接收)客户端给我的连接了

conn,addr = sk.accept()  # 建立连接 conn是连接,ADDR是地址,也可以不写这个变量
conn.send(bhello)   #联上后,进行通信
msg = conn.recv(1024) #1024 表示最多接收1024个字
print(msg)
conn.close()     # 关闭连接

sk.close()  #关掉服务
client客户端
import socket

sk = socket.socket()   #实例化对象
sk.connect((127.0.0.1,9001))  #联接server端


msg = sk.recv(1024)   #1024 表示最多接收1024个字
print(msg)
sk.send(bbyebye)

sk.close()

 


python-网络编程

标签:ip协议   end   网络通   地址解析   路由   accept   tcp   close   通信   

原文地址:https://www.cnblogs.com/zengluo/p/12862153.html


评论


亲,登录后才可以留言!