交互式连接建立(RFC 5245)的实现
项目描述
什么是 aioice?
aioice 是一个用于 Python 的交互式连接建立(RFC 5245)的库。它建立在 Python 的标准异步 I/O 框架 asyncio 之上。
交互式连接建立(ICE)对于需要建立点对点 UDP 数据流的应用程序很有用,因为它简化了 NAT 穿越过程。典型用例包括 SIP 和 WebRTC。
要了解更多关于 aioice 的信息,请 阅读文档。
示例
#!/usr/bin/env python
import asyncio
import aioice
async def connect_using_ice():
    connection = aioice.Connection(ice_controlling=True)
    # gather local candidates
    await connection.gather_candidates()
    # send your information to the remote party using your signaling method
    send_local_info(
        connection.local_candidates,
        connection.local_username,
        connection.local_password)
    # receive remote information using your signaling method
    remote_candidates, remote_username, remote_password = get_remote_info()
    # perform ICE handshake
    for candidate in remote_candidates:
        await connection.add_remote_candidate(candidate)
    await connection.add_remote_candidate(None)
    connection.remote_username = remote_username
    connection.remote_password = remote_password
    await connection.connect()
    # send and receive data
    await connection.sendto(b'1234', 1)
    data, component = await connection.recvfrom()
    # close connection
    await connection.close()
asyncio.get_event_loop().run_until_complete(connect_using_ice())许可
aioice 采用 BSD 许可 发布。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源代码发行版
         aioice-0.9.0.tar.gz  (40.3 kB 查看哈希值)
      
    构建发行版
         aioice-0.9.0-py3-none-any.whl  (24.2 kB 查看哈希值)