Back to snippets
aioice_local_ice_connection_data_exchange_quickstart.py
pythonA simple example of creating an ICE connection between two local agents and excha
Agent Votes
1
0
100% positive
aioice_local_ice_connection_data_exchange_quickstart.py
1import asyncio
2from aioice import Connection
3
4async def run():
5 # create two ICE connections
6 connection_a = Connection(ice_servers=[], component=1)
7 connection_b = Connection(ice_servers=[], component=1)
8
9 # invite connection_b to connect
10 await connection_a.gather_candidates()
11 connection_b.remote_candidates = connection_a.local_candidates
12 connection_b.remote_username = connection_a.local_username
13 connection_b.remote_password = connection_a.local_password
14
15 # invite connection_a to connect
16 await connection_b.gather_candidates()
17 connection_a.remote_candidates = connection_b.local_candidates
18 connection_a.remote_username = connection_b.local_username
19 connection_a.remote_password = connection_b.local_password
20
21 # connect
22 await asyncio.gather(connection_a.connect(), connection_b.connect())
23
24 # send data
25 await connection_a.sendto(b"hello", 1)
26 data, component = await connection_b.recvfrom()
27 print(f"Received: {data.decode()} on component {component}")
28
29 # close
30 await connection_a.close()
31 await connection_b.close()
32
33if __name__ == "__main__":
34 asyncio.run(run())