上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 22 下一页
摘要: 1. 作业需求 借助socket模块实现server端和client端的交互,拟实现网盘上传下载的功能: 上传: client端发送请求,把本地的文件上传给server端,server端负责接收,然后server端的一个文件中写入client端上传的文件内容; 下载: client端发送请求,想要下 阅读全文
posted @ 2018-10-07 15:26 写的BUG代码少 阅读(635) 评论(0) 推荐(0) 编辑
摘要: 1. 基础知识 网上传输的数据都是数据包,数据包中的所有数据都叫报文,报文中不仅有数据,IP地址 mac地址 端口号; 可以自己定制报头,复杂的引用会用到,比如传输文件,(需要有文件名字,文件大小,文件类型,存储的数据) 网络传输的过程中处处有协议,协议本质上就是一堆约定,发端按照什么规则去发文件, 阅读全文
posted @ 2018-10-05 19:22 写的BUG代码少 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1. struct 模块 可以把一种数据类型 比如int 转化为固定长度的bytes类型~ 运行结果: 2. 使用struct模块解决黏包问题 仍然是server端下达命令,客户端远程执行命令的交互功能实现 运行结果: 阅读全文
posted @ 2018-10-05 17:23 写的BUG代码少 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1. 出现黏包现象的本质 黏包现象是TCP协议传输时特有的,当连续send多个小的数据,发送端会连在一起发送 接收端就会一次性接收,就出现黏包现象,这是TCP协议内部的优化算法造成的; 1. 当连续send多个小的数据 发送端会合并在一起发送,接收端只有一个recv时 就会一次性接收,出现黏包现象; 阅读全文
posted @ 2018-10-05 12:58 写的BUG代码少 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 1. subprocess模块 运行结果: 2. 基于TCP实现远程执行命名(server端下发命令,client端执行命令) 运行结果: 其实会发现使用TCP实现远程执行命令,server端发送命令,client端执行完命令之后返回,会出现一条命令太大,server端分很多次才接受完,还有可能会出 阅读全文
posted @ 2018-10-04 21:12 写的BUG代码少 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1. 简单版本 同一主机的不同进程之间通信 2. 同一主机的两个不同进程之间的实时通信 运行结果: 3. 基于UDP实现QQ版尬聊 之前基于TCP的长连接意思是在同一时间只能跟一个客户端聊天,但是当跟一个客户端的连接断开时,可以继续跟其他客户端建立连接,互相聊天; 但是基于UDP的服务器可以和多个客 阅读全文
posted @ 2018-10-04 17:46 写的BUG代码少 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1. 简单版本 同一主机上的不同程序之间的通信 2. 一个server端,多个client端 由于基于TCP的连接都是长连接,也就是当server和一个client建立连接之后,在两者不断开之前,就会一直连着,即使有i其他的client来连server端,这个新来的client端会先一直等着,直到前 阅读全文
posted @ 2018-10-04 11:12 写的BUG代码少 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1. TCP协议的三次握手和四次挥手 https://github.com/jawil/blog/issues/14 这篇文章讲的很好 Mark~ 2.互联网协议 & OSI模型 3. 代码实现 1. 简单版本 同一主机两个不同进程之间的通信: 运行结果: 2. 版本二 可以实现服务器和客户端的实时 阅读全文
posted @ 2018-10-02 19:07 写的BUG代码少 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 1. logging配置方式--basicConfig 运行结果(test.log文件中会记录log信息): 如果我们想在控制台输出上述信息,可以这样: 运行结果: 如果我们想打印中文的日志信息,如果是吧日志写入文件,则会乱码: 运行结果: 但是如果想打印的日志信息包含中文,输出在控制台就没事: 运 阅读全文
posted @ 2018-10-01 15:03 写的BUG代码少 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 1.hashlib 是一个提供很多摘要算法的模块; 其实我们在使用摘要算法进行加密时,可以有三种方式: 1. 普通加密: 运行结果: 但是其实对于一些特别简单的密码,比如123456 直接使用上面的md5摘要算法进行加密时,是很容易被破解的,就是有一群很无聊的人,会去把很多简单的字符串使用md5摘要 阅读全文
posted @ 2018-09-25 22:08 写的BUG代码少 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 22 下一页