2017年6月22日

python网络编程--线程join和Daemon(守护进程)

摘要: 一:什么情况下使用join join([timeout])调用join函数会使得主调线程阻塞,直到被调用线程运行结束或超时。 参数timeout是一个数值类型,用来表示超时时间,如果未提供该参数,那么主调线程将一直阻塞直到被调用线程结束 二:Daemon setDaemon()可以参考Python文 阅读全文

posted @ 2017-06-22 10:36 shisanjun 阅读(570) 评论(0) 推荐(0)

python网络编程--线程使用threading

摘要: 一:线程使用 线程使用有两种方法,一种是直接使用,二是通过继承threading.Thread类使用 二:函数式使用 函数式:调用thread模块中的start_new_thread()函数来产生新线程。语法如下: function - 线程函数。 args - 传递给线程函数的参数,他必须是个tu 阅读全文

posted @ 2017-06-22 10:28 shisanjun 阅读(165) 评论(0) 推荐(0)

python网络编程--线程GIL(全局解释器锁)

摘要: 一:什么是GIL 在CPython,全局解释器锁,或GIL,是一个互斥体防止多个本地线程执行同时修改同一个代码。这把锁是必要的主要是因为当前的内存管理不是线程安全的。(然而,由于GIL存在,其他特性已经发展到依赖于它强制执行的保证)。 上面的核心意思就是,无论你启多少个线程,你有多少个cpu, Py 阅读全文

posted @ 2017-06-22 10:16 shisanjun 阅读(142) 评论(0) 推荐(0)

python网络编程--进程线程

摘要: 一:什么是进程 一个程序执行时的实例被称为一个进程。 每个进程都提供执行程序所需的资源。一个进程有一个虚拟地址空间、可执行代码、对系统对象的开放句柄、一个安全上下文、一个独特的进程标识符、环境变量、一个优先级类、最小和最大工作集大小,以及至少一个执行线程。每个进程以一个线程开始,通常称为主线程,但可 阅读全文

posted @ 2017-06-22 10:12 shisanjun 阅读(153) 评论(0) 推荐(0)

2017年6月19日

python网络编程-paramiko

摘要: python基础学习日志day8-paramiko 一:简介 Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 现有这样的需求:需要使用windows客户端,远程连接到Linux服务器,查看上面的日志状态,大家通常使用的方法会是: 1:用telnet 2:用PUT 阅读全文

posted @ 2017-06-19 20:29 shisanjun 阅读(193) 评论(0) 推荐(0)

python网络编程-optparse

摘要: Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,《Deep in python》一书中也有提到,只能简单处理 命令行参数; 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。 示例 下面是一个使用 opt 阅读全文

posted @ 2017-06-19 20:28 shisanjun 阅读(157) 评论(0) 推荐(0)

2017年6月18日

python网络编程-socketserver

摘要: 一:socketserver简化了网络服务器的编写。 它有4个类:TCPServer,UDPServer,UnixStreamServer,UnixDatagramServer。 这4个类是同步进行处理的,另外通过ForkingMixIn和ThreadingMixIn类来支持异步 class soc 阅读全文

posted @ 2017-06-18 16:19 shisanjun 阅读(432) 评论(0) 推荐(0)

2017年6月17日

python网络编程-socket上传下载文件(包括md5验证,大数据发送,粘包处理)

摘要: ftp server 1) 读取文件名 2)检查文件是否存在 3)打开文件 4)检查文件大小 5)发送文件大小给客户端 6)等客户端确认 7)开始边读边(md5计算)发数据 8)给客户端发md5 阅读全文

posted @ 2017-06-17 19:43 shisanjun 阅读(911) 评论(0) 推荐(0)

python网络编程-socket发送大数据包问题

摘要: 一:什么是socket大数据包发送问题 socket服务器端或者客户端在向对方发送的数据大于对方接受的缓存时,会出现第二次接受还接到上次命令发送的结果。这就出现象第一次接受结果不全,第二次接果出现第一次结果。 比如send 1900 数据,recv 只接受1024。多于数据900放在缓存区里,第二次 阅读全文

posted @ 2017-06-17 15:45 shisanjun 阅读(8991) 评论(1) 推荐(0)

python网络编程-动态导入和断言

摘要: 一:动态导入importlib 在程序运行的过程中,根据变量或者配置动态的决定导入哪个模块,可以使用模块importlib importlib使用示例 二:断言assert 如果接下来的程序依赖于前面的,而后面程序很重要,不能出错。可以用assert ,如果检查不过关就抛出AssertionErro 阅读全文

posted @ 2017-06-17 11:10 shisanjun 阅读(202) 评论(0) 推荐(0)

导航