网络编程

1,C/S架构,B/S架构

C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。

这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。

B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。

Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。

2,osi七层模型

3,socket

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

4,TCP协议,udp协议

5,基于TCP协议的socket

 1 #服务端
 2 import socket
 3 sk = socket.socket()
 4 sk.bind(('127.0.0.1',8898))  #把地址绑定到套接字
 5 sk.listen()          #监听链接
 6 conn,addr = sk.accept() #接受客户端链接
 7 ret = conn.recv(1024)  #接收客户端信息
 8 print(ret)       #打印客户端信息
 9 conn.send(b'hi')        #向客户端发送信息
10 conn.close()       #关闭客户端套接字
11 sk.close()        #关闭服务器套接字(可选)
server

 

1 #客户端
2 import socket
3 sk = socket.socket()           # 创建客户套接字
4 sk.connect(('127.0.0.1',8898))    # 尝试连接服务器
5 sk.send(b'hello!')
6 ret = sk.recv(1024)         # 对话(发送/接收)
7 print(ret)
8 sk.close()            # 关闭客户套接字
client

 6: 

arp协议:通过目标ip地址,获取目标mac地址

TCP协议:安全可靠通信方式,面向连接

UDP协议:不安全,不可靠的通信方式,快

TCP:

三次握手 : 注意必须是client先发起请求
1 client发送给server我想连接你,可以么
2 server回复client,可以,我也想连接你,可以吗?
3 client回复server,可以

四次挥手 : 谁先发起请求都可以
1 client发送请求:我准备断开连接了,我没有数据需要发送了,
如果你有数据可以继续发给我
2 server回复:确认接收到你的请求,我开始着手准备断开事宜
3 server回复:我准备好了,可以随时断开连接
4 client回复:断开连接吧

协议概述:由多人制定的一种规则

tcp协议流程:

 1 import  socket
 2 sk = socket.socket(type=socket.SOCK_STREAM) #创建一个套接字
 3 sk.bind(('127.0.0.1',9632))  #把地址绑定到套接字
 4 sk.listen()          #监听链接
 5 conn,addr = sk.accept() #接受客户端链接
 6 ret = conn.recv(1024)  #接收客户端信息
 7 print(ret.decode('utf-8'),conn,addr)       #打印客户端信息
 8 conn.send(b'hi')        #向客户端发送信息
 9 conn.close()       #关闭客户端套接字
10 sk.close()        #关闭服务器套接字(可选)
TCP协议流程

 

posted @ 2018-07-17 20:04  北伽  阅读(148)  评论(0编辑  收藏  举报