文件名称:网络编程框架-htrc110 用户手册
文件大小:1.33MB
文件格式:PDF
更新时间:2024-06-30 06:35:45
分布式
3.1 网络编程框架 服务器编程都需要有一个可控的网络编程框架。Taobao 公司开源了一个 tbnet 框架,这 个框架设计非常优雅,我们结合 tbnet 说明网络编程框架的设计。 网络编程包括客户端编程和服务器端编程。客户端有同步和异步两种模式:同步模式下, 客户端往 socket 连接中发送请求后等待服务器端应答;异步模式下,客户端往 socket 连接 附带的队列中拷贝请求内容(给每个请求分配唯一的请求号)后立即返回,等到服务器端应 答时,客户端的接收线程会调用相应的回调函数。Tbnet 客户端实现的是异步模型,因为同 步模型可以通过异步模型来封装。服务器端监听客户端的连接,接收到客户端的请求后放到 socket 连接附带的任务队列中,该任务队列所在的线程会不断地从任务队列取任务并调用用 户定义的任务处理函数。 一个网络编程框架至少包含三个组件:连接管理,任务队列,线程池。具体实现时,客 户端和服务器端都有网络线程负责发送和接收网络包,并有超时检查线程负责连接超时管理。 Tbnet 的 Transport 就是负责网络传输层的一个类,它负责开两个线程, 一个用来传输, 一个