原文地址: http://scotdoyle.com/python-epoll-howto.html
文章里面的代码可以 点击这里下载.
<p>
第一个例子是一个简单的python3.0版本的服务器代码, 监听8080端口的http请求, 打印结果到命令行, 回应http response给客户端.
</p>
<ul>
<li>
行 9: 建立服务器的socket
</li>
<li>
行 10: 允许11行的bind()操作, 即使其他程序也在监听同样的端口. 不然的话, 这个程序只能在其他程序停止使用这个端口之后的1到2分钟后才能执行.
</li>
<li>
行 11: 绑定socket到这台机器上所有IPv4地址上的8080端口.
</li>
<li>
行 12: 告诉服务器开始响应从客户端过来的连接请求.
</li>
<li>
行 14: 程序会一直停在这里, 直到建立了一个连接. 这个时候, 服务器socket会建立一个新的socket, 用来和客户端通讯. 这个新的socket是accept()的返回值, address对象标示了客户端的IP地址和端口.
</li>
<li>
行 15-17: 接收数据, 直到一个完整的http请求被接收完毕. <a href="http://www.jmarshall.com/easy/http/">这是一个简单的http服务器实现</a>.
</li>
<li>
行 18: 为了方便验证, 打印客户端过来的请求到命令行.
</li>
<li>
行 19: 发送回应.
</li>
<li>
行 20-22: 关闭连接, 以及服务器的监听socket.
</li>
</ul>
<p>
阅读全文