python网络编程

  • B的TCP服务器进程先创建传输控制块TCB,准备接受客户进程的连接请求。然后服务器进程就处于LISTEN(收听)状态,等待客户的连接请求。若有,则作出响应。
  • 1**)第一次握手:A的TCP客户进程也是首先创建传输控制块TCB,然后向B发出连接请求报文段,(首部的同步位SYN=1**,初始序号seq=x),(SYN=1的报文段不能携带数据)但要消耗掉一个序号,此时TCP客户进程进入SYN-SENT(同步已发送)状态。
  • 2**)第二次握手:**B收到连接请求报文段后,如同意建立连接,则向A发送确认,在确认报文段中(SYN=1,ACK=1,确认号ack=x+1,初始序号seq=y),测试TCP服务器进程进入SYN-RCVD(同步收到)状态;
  • 3**)第三次握手:**TCP客户进程收到B的确认后,要向B给出确认报文段(ACK=1,确认号ack=y+1,序号seq=x+1)(初始为seq=x,第二个报文段所以要+1),ACK报文段可以携带数据,不携带数据则不消耗序号。TCP连接已经建立,A进入ESTABLISHED(已建立连接)。
  • 当B收到A的确认后,也进入ESTABLISHED状态。

ascii表

1555478335756

1555478372287

ascii 的数量

ASCII码的长度呢是一个字节,共8位,理论上可以表示256个字符,但是许多时候只谈128个,其原因是这样的:
在计算机中,数字和字符本来是不加区分的。一个ACSII码在机器中,可能是字符,也可能做数字使用。为了兼顾这两种用途,也为了操作方便,规定ASCII码都是正的(正数)。在计算机内数值表示规定中,第一位是符号位,该位为1表示负值,表示正值就是0了。这样还有7位可以用于编码,于是就有128个。后来,为了纳入更多的字符,就把第一位也用上了,成了“扩展ASCII”又有128个,这些值都是负的了。
在7位的情况下,每个位只有两种选择,那么用排列组合算一下,一共有128(2^7)种可能,也因此最多能表示128种不同的符号

random模块

导入

import random

随机整数

包括最大值,不可加步长

random.randint(最小值,最大值)

不包括最大值,但可以给步长

random.randrange(最小值,最大值,步长)

随机选择一个返回

random.choice(列表)

随机取多个返回

随机取多个,返回结果是列表

random.sample(列表,取几个)

打乱顺序

用于洗牌,会改变列表自身数据

random.shuffle(列表)

作业生成验证码

随机生成八位数验证码

提示

利用一下ascii

chr(ascii码值) 可得到 对应的字符

目标,需要获得一个八位的由数字和字母组成的随机验证码

0-9

大写的A-Z 65-90

小写的a-z 97-122

方法一

完全随机

  • 做一个列表
    • 先取数字
    • 取大写字母
    • 取小写字线
  • 随机取多个

方法二

数字多

num=[0,1,2,3,4,5,6,7,8,9,chr(random.randint(65,90)),chr(random.randint(97,122))]
s=random.sample(num,8)
print(s)

方法三

数字,大写字母,小写字母出现机会均等
import random

i = 0
rand_char = “”
while i < 8:
# 随机一个大写字母
big_char = chr(random.randint(65, 90))
# 随机一个小写字母
small_char = chr(random.randint(97, 122))
# 随机一个整数
int_char = str(random.randint(0,9))
# 三个组成列表
char_list = [big_char, small_char, int_char]
# 从列表中随机出来一个
get_char = random.choice(char_list)
# 重复八次上面的操作
rand_char += get_char

i += 1

print(rand_char)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值