day19_计算机数据通信

2018-10-24  本文已影响0人  逆流而上_2eb6

1.recode

1.正则符号:
匹配字符:\w\W\s\S\d\D \B\b ^$ [][^]
控制次数:*+?{} *? +? ?? ?{}
分支:|
分组:() 分组,捕获,重复

2.re模块
匹配相关
match ,fullmatch--->返回值时匹配对象
span(),group(),string,start(),end()
查找
search--->返回匹配对象或None
findall-->返回子串,有分组就返回元祖
finditer--->返回一个迭代器,迭代其中的内容是匹配对象
切割
split--->按满足正则表达式的子串对字符进行切割
替换
sub(正则表达式,替换值,字符串)

2.计算机数据通信过程

mac地址是硬件的唯一标识(网卡生产的时候确定的序号)
DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。
PC---DNS---PC----服务器
OSI参考模型:是国际标准化组织分析计算机通信,把计算机通信进行规范和标准化分为7层:应用层,表示层,会话层(木马),传输层,网络层,数据链路层,物理层
TCP/IP协议栈
TCP:只有可靠传输才能分段传输,不会数据丢失
UDP:不可靠传输,如VNC,直播,DNS,数据传输断了,就丢失了。

3.socket服务器

socket又叫套接字,实现网络通信的两端就是套接字。分为服务器对应的套接字和客户端对应的套接字。
python通过提供socket标准化来支持socket编程
socket编程就是用程序实现服务器和客户端

写服务器

1.创建服务器对应的套接字对象
socket(family,type)
family:设置ip类型 默认为AF_INET(ipv4) 还有AF_INET6(ipv6)
type:设置传输类型,默认值为SOCK_STREAM(TCP可靠传输) SOCK_DGRAM(udp不可靠传输)
2.绑定ip和端口
bind((ip,端口))
ip:服务器的地址
端口:不同的端口用来区分电脑上不同的服务,取值范围是065535,注意01024是著名端口(用来绑定特殊服务的端口,不要随便用)
同一时间同一端口只能绑定一个服务
3.监听
listen(个数)--->需要通过数字设置服务器一次可以处理最大的请求个数
4.让服务器一直处于启动状态
5.接受客户端的请求
accept()
执行到accept线程会停下来,直到有客户端在请求这个服务器的时候才会往下执行
查看自己ip:cmd :ipconfig/all 10.7.156.112(首选)
或者在连接的网络中查看信息,打开网络设置
6.服务器给客户发送数据
send(data)---->发送数据data,要求是二进制数据
str转换bytes:bytes(str,encoding = "utf-8")
str.encode(encoding = "utf-8")
7.接收客户端发送的数据
recv(字节数)--->参数是用来设置一次能接收的最大字节数
接收到的也是二进制,要用str()或者decode()转换成str
recv方法也会阻塞线程。直到对方发送信息为止。

socket客户端

1.创建客户端套接字对象
client = socket.socket()
2.连接服务器
client.connect(("10.7.156.112),8080)
3.接收服务器返回的数据
re_date = client.recv(1024)
4.发信息send

4.HTTP协议

URL:统一资源定位符,通过一个URL可以找到互联网上唯一的1个资源
URL的基本格式 = 协议://主机地址/路径
协议:不同的协议,代表着不同的资源查找方式、资源传输方式
主机地址:存放资源的主机(服务器)的ip地址(域名)
路径:资源在主机中的具体位置
HTTP:超文本传输协议,访问的是远程的网络资源,格式是http://
http是网络开发中最常用的协议
file:访问的是本地计算机的资源,格式是:file://(不用加主机地址)
FTP:访问共享主机
http协议的作用:规定客户端和服务器之间的数据传输格式;让客户端与服务器能有效的进行沟通。
Http协议的特点:简单快速。灵活。

上一篇 下一篇

猜你喜欢

热点阅读