- 博客(7)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 使用ThreadingMixIn实现多线程套接字服务器--《Python网络编程攻略》
不同于多进程套接字服务器,基于ThreadingMixIn的多线程套接字服务器具有诸多优势:线程间共享应用状态;避免进程间复杂的通信操作,等等。实现方法创建ThreadedTCPServer类,它将继承TCPServer和ThreadingMixIn类。客户端连接这个多线程服务器时,就会创建一个新线程进行处理。请求处理类ForkingServerRequestHandler会在一个新线程中将消
2017-02-28 22:45:34 4767
原创 使用多路复用套接字I/O提升性能之——ForkingMixIn 《Python网络编程攻略》
与前一例不同,本次考虑多个客户端连接服务器的情况,且可以异步通信。 服务器不需要在阻塞模式中处理客户发出的请求,而是单独处理每个请求。如果某个客户端接受或处理数据花了很长时间,服务器无需等待处理完成,即可使用另外的线程和其他客户端进行通信。实现方法SocketServer模块:利用SocketServer模块提供的类可以直接实现TCP、UDP及其他协议服务器。ForkingMixIn
2017-02-28 15:12:27 1700 1
原创 AttributeError: 'module' object has no attribute 'fork' 切记:windows内核中没有os.fork()函数
AttributeError: ‘module’ object has no attribute ‘fork’ windows内核中没有os.fork()函数 错误提示“AttributeError: ‘module’ object has no attribute ‘fork’”搜索半天,出现该问题的原因在于windows的内核中没有os.fork()函数,放到linux中运行正常。win
2017-02-28 13:07:41 2873
原创 Python之BSD socket套接字编写回显客户端/服务器应用----《Python 网络编程攻略》
本例实现的功能:不管服务器从客户端收到什么输入,都会将其回显出来。 运行效果及方法如下: 如图,打开运行输入cmd,先运行服务器程序1_13a_echo_server.py,注意要输入参数--port=9900,得到界面如下: 再打开一个命令窗口,运行客户端程序1_13b_echo_client.py,得到结果如下: 我们看到,服务器在9900端口启动了一个监听,客户端向99
2017-02-27 22:15:25 715
原创 《Hello World》python学习之pygame画图模块
python学习之pygame画图模块1 安装cmd中执行命令:pip install pygame 如果已经安装,则会告知“Requirement already satisified”。2 功能2.1 新建窗口 代码import pygamepygame.init()screen = pygame.display.set_mode([640, 480])running = T
2017-02-18 07:10:29 1761
原创 《Head First Python》 第九章 ——sqlite数据库路径的配置问题
《Head First Python》 第九章 ——sqlite数据库路径的配置问题 问题现象: “File “C:\Users\lenovo\webapp_ch9\cgi-bin\generate_list.py”, line 5, in athletes = athletemodel.get_namesID_from_store() File “C:\Us
2017-02-15 07:39:31 563
原创 《Head First Python》 第九章——如何将sqlite数据库集成到web应用中
方法1:重写athletemodel.py中的代码来使用这个数据库,无需改变API。通过查询sqlite数据库,获得所需数据,把它变成AthleteList对象的字典,然后把字典返回给调用者,调用代码无需做任何改变。 方法2:重写API。方法1看似简单,但在数据的存储方式已发生根本性改变时,重写API更利于后续功能的增加。1 重写API1.1 获取名字列表:get_names_from_
2017-02-14 16:01:50 532
python 批量化修改文件名小程序
2017-11-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人