py小强

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  52 随笔 :: 0 文章 :: 0 评论 :: 9409 阅读
< 2025年6月 >
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 1 2 3 4 5
6 7 8 9 10 11 12

2019年8月4日

摘要: 这篇我们把之前的代码,用面向对象的形式进行一下优化。 优化的思想: + 要使用的参数全在类的内部首先定义,或者从配置文件导入 + 所有的动作都用类的方法封装(首先需要细化这个功能都有哪些步骤,然后把步骤写入方法,可以直接调用方法作为接口) 在函数优化的基础上更容易修改 server.py clien 阅读全文
posted @ 2019-08-04 17:54 py小强 阅读(188) 评论(0) 推荐(0)

摘要: 简单的实现UDP协议: server.py client.py 阅读全文
posted @ 2019-08-04 17:54 py小强 阅读(101) 评论(0) 推荐(0)

摘要: 我们把功能细化,然后用函数包装一下,这样可读性好而且加入新功能的时候也比较容易。 + 实现步骤 + 先把除了import和环境变量部分全部装到run()函数中,并且在最后加入if __name__ == '__main__' 部分 + 看run()里面有没有实现某个功能的部分,在run()上面定义该 阅读全文
posted @ 2019-08-04 17:53 py小强 阅读(166) 评论(0) 推荐(0)

摘要: 文件传输功能(下载) 这个可以用上一篇的最终版的远程执行命令代码稍作修改就可以实现。\ 原理是一样的 下面代码借用之前的ssh代码部分: 从服务器下载文件: server.py client.py python import socket import struct import json impo 阅读全文
posted @ 2019-08-04 17:52 py小强 阅读(207) 评论(0) 推荐(0)

摘要: + 之前我们实现了基本功能,但是有一些问题 + 报头里只包含了数据长度,对文件的描述应该还包含其他信息 + struct模块pack的任何模式,报头长度是有极限的(l模式也就只有8bytes) 这个版本是一个很标准的套接字CS服务的模板,需要认真对待。 server.py client.py pyt 阅读全文
posted @ 2019-08-04 17:51 py小强 阅读(107) 评论(0) 推荐(0)

摘要: 粘包现象 .recv(1024)坑:当传送来的数据超过1024bytes的时候,因为recv只能一次接受1024byte,传输管道就会积压数据\ → 下次recv会继续接收积压的数据\ → 这回导致本次send的处理结果可能返回的是上次的结果内容的一部分, 粘包现象:TCP协议是流数据协议(传送的是 阅读全文
posted @ 2019-08-04 17:50 py小强 阅读(309) 评论(0) 推荐(0)

摘要: 接下来我们用之前的知识,模拟一个远程执行命令的小程序 server.py client.py 阅读全文
posted @ 2019-08-04 17:48 py小强 阅读(102) 评论(0) 推荐(0)

摘要: 继续上一篇,我们来继续完善程序 到现在为止,我们停掉客户端了,服务端也会一起结束。\ 但是考虑一下,这并算不上服务端,因为只能服务一个客户端\ 所以我们需要能接受多个客户端的访问(暂时我们不研究并发编程,就让我们先能一个一个处理) server.py client.py 阅读全文
posted @ 2019-08-04 17:48 py小强 阅读(116) 评论(0) 推荐(0)

摘要: 到上一篇位置我们写的代码虽然可以执行,但是还有很多潜在的bug + 各种问题的解决 + 端口重用:有时候服务端关掉了依然端口被占用,原因是OS回收端口需要时间,这时候有2中解决方法: + .setsockopt方法实现端口重用 + Linux OS的情况下:修改Linux的系统设置 + 客户端发送空 阅读全文
posted @ 2019-08-04 17:47 py小强 阅读(187) 评论(0) 推荐(0)

摘要: 在上一篇的通信例子的基础上,我们加上一个通信循环 server.py client.py 阅读全文
posted @ 2019-08-04 17:45 py小强 阅读(101) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示