99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

Tornado 各種網(wǎng)絡(luò)應(yīng)用程序

2022-03-10 11:31 更新

tornado.netutil.bind_sockets(port: int, address: Optional[str] = None, family: socket.AddressFamily = <AddressFamily.AF_UNSPEC: 0>, backlog: int = 128, flags: Optional[int] = None, reuse_port: bool = False) → List[socket.socket]

創(chuàng)建綁定到給定端口和地址的偵聽套接字。

返回套接字對象的列表(如果給定地址映射到多個 IP 地址,則返回多個套接字,這對于混合使用 IPv4 和 IPv6 最常見)。

地址可以是 IP 地址或主機名。 如果是主機名,服務(wù)器將偵聽與該名稱關(guān)聯(lián)的所有 IP 地址。 Address 可以是空字符串或 None 以偵聽所有可用接口。 Family 可以設(shè)置為 ?socket.AF_INET? 或 ?socket.AF_INET6? 以限制 IPv4 或 IPv6 地址,否則將使用兩者(如果可用)。

?backlog參數(shù)與 ?socket.listen()的含義相同。

?flags是 ?getaddrinfo的 AI_* 標(biāo)志位掩碼,如 ?socket.AI_PASSIVE | socket.AI_NUMERICHOST?

?reuse_port?選項為列表中的每個套接字設(shè)置 ?SO_REUSEPORT ?選項。 如果您的平臺不支持此選項,則會引發(fā) ValueError。

tornado.netutil.bind_unix_socket(file: str, mode: int = 384, backlog: int = 128) → socket.socket

創(chuàng)建一個監(jiān)聽 unix 套接字。

如果具有給定名稱的套接字已經(jīng)存在,它將被刪除。 如果存在具有該名稱的任何其他文件,則會引發(fā)異常。

返回一個套接字對象(不是像 ?bind_sockets這樣的套接字對象列表)

tornado.netutil.add_accept_handler(sock: socket.socket, callback: Callable[[socket.socket, Any], None]) → Callable[[], None]

添加 ?IOLoop事件處理程序以接受 ?sock上的新連接。

當(dāng)一個連接被接受時,?callback(connection, address)?會被運行(?connection?是一個?socket?對象,?address?是連接另一端的地址)。 請注意,此簽名與用于 ?IOLoop處理程序的回調(diào)?(fd,events)?簽名不同。

返回一個可調(diào)用對象,調(diào)用該可調(diào)用對象時,將刪除 ?IOLoop事件處理程序并停止處理進一步的傳入連接。

在 5.0 版中更改: ?io_loop ?參數(shù)(自 4.1 版以來已棄用)已被刪除。

在 5.0 版更改:返回一個可調(diào)用對象(之前沒有返回)。

tornado.netutil.is_valid_ip(ip: str) → bool

如果給定的字符串是格式正確的 IP 地址,則返回 ?True?。

支持 IPv4 和 IPv6。

class tornado.netutil.Resolver

可配置的異步 DNS 解析器接口。

默認情況下,使用阻塞實現(xiàn)(簡單地調(diào)用 ?socket.getaddrinfo?)。 可以使用 ?Resolver.configure? 類方法選擇替代實現(xiàn):

Resolver.configure('tornado.netutil.ThreadedResolver')

Tornado 包含的這個接口的實現(xiàn)是

  • ?tornado.netutil.DefaultExecutorResolver?
  • ?tornado.netutil.BlockingResolver?(已棄用)
  • ?tornado.netutil.ThreadedResolver?(已棄用)
  • ?tornado.netutil.OverrideResolver?
  • ?tornado.platform.twisted.TwistedResolver?
  • ?tornado.platform.caresresolver.CaresResolver?

在 5.0 版更改: 默認實現(xiàn)已從 ?BlockingResolver更改為 ?DefaultExecutorResolver?。

resolve(host: str, port: int, family: socket.AddressFamily = <AddressFamily.AF_UNSPEC: 0>) → Awaitable[List[Tuple[int, Any]]]

解析地址。

?host參數(shù)是一個字符串,可以是主機名或文字 IP 地址。

返回一個 ?Future?,其結(jié)果是 (family, address) 對的列表,其中 address 是一個適合傳遞給 ?socket.connect? 的元組(即 IPv4 的 ?(host, port)? 對;IPv6 可能存在其他字段)。 如果傳遞了回調(diào),它將在完成時將結(jié)果作為參數(shù)運行。

引發(fā):?IOError ?– 如果地址無法解析。

在 4.4 版更改:標(biāo)準(zhǔn)化所有實現(xiàn)以引發(fā) ?IOError?。

在 6.0 版更改: 回調(diào)參數(shù)已刪除。 請改用返回的可等待對象。

close() → None

關(guān)閉解析器,釋放所有使用的資源。

class tornado.netutil.DefaultExecutorResolver

使用 ?IOLoop.run_in_executor? 的解析器實現(xiàn)。

class tornado.netutil.ExecutorResolver

使用 ?concurrent.futures.Executor? 的解析器實現(xiàn)。

當(dāng)您需要對正在使用的執(zhí)行器進行額外控制時,請使用它而不是 ?ThreadedResolver?。

除非?close_resolver=False?,否則當(dāng)?resolver?關(guān)閉時?executor?會被關(guān)閉; 如果您想在其他地方重用相同的執(zhí)行器,請使用它。

在 5.0 版中更改: ?io_loop ?參數(shù)(自 4.1 版以來已棄用)已被刪除。

5.0 版后已棄用:默認解析器現(xiàn)在使用 ?IOLoop.run_in_executor?; 使用它而不是此類。

class tornado.netutil.BlockingResolver

默認解析器實現(xiàn),使用 ?socket.getaddrinfo?。

?IOLoop將在解析期間被阻止,盡管回調(diào)將在下一次 ?IOLoop迭代之前運行。

5.0 版后已棄用:默認解析器現(xiàn)在使用 ?IOLoop.run_in_executor?; 使用它而不是此類。

class tornado.netutil.ThreadedResolver

多線程非阻塞解析器實現(xiàn)。

需要安裝 ?concurrent.futures? 包(自 Python 3.2 起在標(biāo)準(zhǔn)庫中可用,可在舊版本中使用 ?pip install futures? 安裝)。

線程池大小可以配置為:

Resolver.configure('tornado.netutil.ThreadedResolver',
                   num_threads=10)

在 3.1 版更改: 所有 ?ThreadedResolver共享一個線程池,其大小由要創(chuàng)建的第一個設(shè)置。

5.0 版后已棄用:默認解析器現(xiàn)在使用 ?IOLoop.run_in_executor?; 使用它而不是此類。

class tornado.netutil.OverrideResolver

使用覆蓋映射包裝解析器。

這可用于進行本地 DNS 更改(例如用于測試),而無需修改系統(tǒng)范圍的設(shè)置。

映射可以是三種格式:

{
    # Hostname to host or ip
    "example.com": "127.0.1.1",

    # Host+port to host+port
    ("login.example.com", 443): ("localhost", 1443),

    # Host+port+address family to host+port
    ("login.example.com", 443, socket.AF_INET6): ("::1", 1443),
}

在 5.0 版更改: 添加了對主機端口系列三元組的支持。

tornado.netutil.ssl_options_to_context(ssl_options: Union[Dict[str, Any], ssl.SSLContext]) → ssl.SSLContext

嘗試將 ?ssl_options字典轉(zhuǎn)換為 ?SSLContext對象。

?ssl_options字典包含要傳遞給 ?ssl.wrap_socket? 的關(guān)鍵字。 在 Python 2.7.9+ 中,可以改用 ?ssl.SSLContext? 對象。 此函數(shù)將dict表單轉(zhuǎn)換為其 ?SSLContext等效項,并且可以在接受這兩種表單的組件需要升級到 ?SSLContext ?版本以使用 ?SNI或 ?NPN等功能時使用。

tornado.netutil.ssl_wrap_socket(socket: socket.socket, ssl_options: Union[Dict[str, Any], ssl.SSLContext], server_hostname: Optional[str] = None, **kwargs) → ssl.SSLSocket

返回包裝給定套接字的ssl.SSLSocket?。

?ssl_options可以是?ssl.SSLContext? 對象或字典(由 ?ssl_options_to_context? 接受)。 額外的關(guān)鍵字參數(shù)被傳遞給 ?wrap_socket?(?SSLContext方法或 ?ssl模塊函數(shù),視情況而定)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號