网络网关接口
项目描述
网络网关接口
网络网关接口提供
在无需使用套接字、线程或子进程的情况下测试应用程序网络代码的能力
应用程序代码和底层网络代码的清晰分离
一组相对简单的、无需继承的网络API
一个基于事件的框架,它使得在仍支持命令式编程风格的同时轻松处理许多并发连接。
要了解更多信息,请参阅 http://packages.python.org/zc.ngi/
变更日志
2.1.0 (2017-08-31)
新功能
支持IPv6
2.0.1 (2012-04-06)
修复的错误
发送数据的速度比套接字传输的速度快时没有正确处理。
2.0.0 (2011-12-10)
修复的错误
zc.ngi异步监听器在绑定到端口0时没有提供实际地址。
2.0.0a6 (2011-05-26)
修复的错误
如果应用程序代码进行了许多小写操作,则每个写操作都会单独发送,这可能会触发Nagle算法。
2.0.0a5 (2010-08-19)
新功能
连接对象有一个新的peer_address属性,它相当于在套接字上调用getpeername()。
修复的错误
使用Unix域套接字的服务器没有清理套接字文件。
在测试监听器关闭时,服务器连接上调用的是handle_close而不是close。
zc.ngi.async连接的write和writelines方法在调用已关闭的连接时不会引发错误。
内置的连接适配器和便捷的适配器基类没有实现__nonzero__。
2.0.0a4 (2010-07-27)
修复的错误
当使用zc.ngi.testing并且服务器在客户端调用set_handler之前发送输入并关闭连接时,服务器发送的输入会丢失。
默认情况下,在连接上调用close可能会导致已经写入的数据不会发送。现在,只有在将数据传递给write或writelines作为至少传递给底层IO系统(例如socket.send)后,才关闭连接。
(这意味着发送zc.ngi.END_OF_DATA到write的未记录实践现在已弃用。)
2.0.0a3 (2010-07-22)
修复的错误
修复了一个打包错误。
2.0.0a2 (2010-07-22)
新功能
新增了实验性的zc.ngi.async.Implementation.listener选项,可以在每个客户端(服务器连接)自己的线程中运行。
(它没有文档说明。它是实验性的,但有一个doctest。)
修复的错误
在处理连接到测试服务器时有一个错误,导致不应该使用打印处理程序时使用了它。
2.0.0a1 (2010-07-08)
新功能
新的改进文档
支持使用生成器以命令式风格编写请求处理程序。
更干净的测试接口
重构了zc.ngi.async线程管理,使得阻塞API变得不必要。现在zc.ngi.async.blocking已被弃用。
添加了对在单独线程中运行多个async实现的支持。这对于具有较少网络连接且处理程序倾向于执行长时间计算的应用程序很有用。
将IConnection.setHandler重命名为set_handler。
不支持Python 2.4。
修复的错误
Sized请求适配器的writelines方法损坏了。
在async实现中存在许多错误处理问题。
1.1.6 (2010-03-01)
已修复错误
修复了关于在...上监听的错误记录。消息是在实际操作成功之前发出的。现在,如果绑定给定的地址失败,则发出警告unable to listen on...
1.1.5 (2010-01-19)
已修复错误
修复了一个致命的win32问题(socket.AF_UNIX使用)。
在windows上移除了不恰当的SO_REUSEADDR套接字选项的使用。
大尺寸适配器表现不佳(因为它触发了Nagle算法)。
1.1.4 (2009-10-28)
已修复错误
由于服务器设置中的竞争条件,有时会发出无关的警告。
向zc.ngi.adapters.Lines添加了缺失的“writelines”方法。
1.1.3 (2009-07-30)
已修复错误
zc.ngi.async绑定失败没有得到适当处理,导致产生了许多令人讨厌的日志消息,这些消息往往会使日志文件满。
1.1.2 (2009-07-02)
已修复错误
zc.ngi.async线程没有命名。所有线程都应该命名。
1.1.1 (2009-06-29)
已修复错误
zc.ngi.blocking没有正确处理连接失败。
1.1.0 (2009-05-26)
已修复错误
阻塞输入和输出文件没有正确同步关闭。
测试实现违反了interfaces.py中做出的承诺,在处理程序方法中进行了多次同时调用。
异步TCP服务器使用的监听深度太低,导致性能问题和不必要的测试失败。
新功能
添加了对UDP的支持。
通过IImplementation接口明确了实现责任。测试和async实现的“connector”属性被重命名为“connect”。旧名称仍然有效。
现在要求实现记录处理程序错误,并在连接-处理程序错误的情况下关闭连接。(否则,处理程序,特别是处理程序适配器,将必须执行此操作。)
1.0.1 (2007-05-30)
已修复错误
服务器启动有时会失败,出现类似以下错误
warning: unhandled read event warning: unhandled write event warning: unhandled read event warning: unhandled write event ------ 2007-05-30T22:22:43 ERROR zc.ngi.async.server listener error Traceback (most recent call last): File "asyncore.py", line 69, in read obj.handle_read_event() File "asyncore.py", line 385, in handle_read_event self.handle_accept() File "/zc/ngi/async.py", line 325, in handle_accept sock, addr = self.accept() TypeError: unpack non-sequence
项目详情
zc.ngi-2.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e732f5016c20a7abd56f8d93aa2c268f01b2d0876b3c3fec754007dddaa661ca |
|
MD5 | 45c7d5553f7a251829e235672d171653 |
|
BLAKE2b-256 | abb053f20df40afedf5b4470908c4be1abafda5a471f2f383c42c63d7fc8a057 |