网络编程
网络开发的架构:
- 
C/s client/server
 - 
B/s Browser/server
 - B/s架构更好
 
认识网络
- 
网卡 -- mac地址
 - 
每台机器在网络中除了有一个mac地址生效,还有一个ip地址
 - 
有交换机和路由器
 - 
端口:通过某一个固定的端口定位到机器上的某一个应用
 - 
每一台机器有很多个端口,最大的端口是65535 范围是0--65535
 
交换机的工作方式:
- 
单播\广播\组播
 - 
arp协议:通过ip找mac
 - 
交换机 --->广播 将要找的机器的信息发给局域网内的所有机器
 - 
交换机 ---->单播 返回要找的那台机器
 - 
交换机的工作机制: 只认识mac地址,广播\单播\组播
 
ip协议:
- ipv4: 4位点分十进制
 - ipv6: 6位点分十六进制
 
路由器的工作机制:
- 路由表,认识ip地址
 
传递信息的方式:
- Tcp协议: 可靠的\面向连接的\慢
 - UDP协议: 不可靠的\无连接的\快
 
TCP与UDP的区别

osi七层模型

TCP/IP五层协议
套接字(socket)初使用
- 
基于TCP协议的socket
- 
server端
- 
import socket sk = socket.socket() sk.bind(('127.0.0.1',8898)) #把地址绑定到套接字 sk.listen() #监听链接 conn,addr = sk.accept() #接受客户端链接 ret = conn.recv(1024) #接收客户端信息 print(ret) #打印客户端信息 conn.send(b'hi') #向客户端发送信息 conn.close() #关闭客户端套接字 sk.close() #关闭服务器套接字(可选)
 
 - 
 - 
client端
- 
import socket sk = socket.socket() # 创建客户套接字 sk.connect(('127.0.0.1',8898)) # 尝试连接服务器 sk.send(b'hello!') ret = sk.recv(1024) # 对话(发送/接收) print(ret) sk.close() # 关闭客户套接字
 
 - 
 
 - 
 
                    
                

                
            
        
浙公网安备 33010602011771号