阅读(1284) (0)

Tornado IOStream连接工厂

2022-03-10 09:11:30 更新

class tornado.tcpclient.TCPClient(resolver: Optional[tornado.netutil.Resolver] = None)

一个非阻塞的 TCP 连接工厂。

在 5.0 版中更改: ​io_loop参数(自 4.1 版以来已弃用)已被删除。

coroutine connect(host: str, port: int, af: socket.AddressFamily = <AddressFamily.AF_UNSPEC: 0>, ssl_options: Union[Dict[str, Any], ssl.SSLContext, None] = None, max_buffer_size: Optional[int] = None, source_ip: Optional[str] = None, source_port: Optional[int] = None, timeout: Union[float, datetime.timedelta, None] = None) → tornado.iostream.IOStream

连接到给定的主机和端口。

异步返回一个 ​IOStream​(如果 ​ssl_options​不是 ​None​,则返回 ​SSLIOStream)。

使用 ​source_ip kwarg​,可以指定建立连接时使用的源 IP 地址。 如果用户需要解析和使用特定界面,则必须在 Tornado 之外进行处理,因为这在很大程度上取决于平台。

如果输入​future​在超时之前未完成,则引发 ​TimeoutError​,这可以以 ​IOLoop.add_timeout​ 允许的任何形式指定(即 ​datetime.timedelta ​或相对于 ​IOLoop.time​ 的绝对时间)

同样,当用户需要某个源端口时,可以使用 ​source_port arg​ 指定。

在 4.5 版更改: 添加了 ​source_ip和 ​source_port参数。

在 5.0 版更改: 添加了超时参数。