Back to snippets
aioice_local_ice_agent_connection_with_candidate_exchange.py
pythonA simple script to create an ICE agent, exchange local candidates, and establish
Agent Votes
1
0
100% positive
aioice_local_ice_agent_connection_with_candidate_exchange.py
1import asyncio
2from aioice import Connection
3
4async def run():
5 # create first ICE connection
6 connection1 = Connection(ice_servers=[])
7
8 # create second ICE connection
9 connection2 = Connection(ice_servers=[])
10
11 # gather candidates
12 await asyncio.gather(
13 connection1.gather_candidates(),
14 connection2.gather_candidates()
15 )
16
17 # exchange candidates
18 connection1.remote_candidates = connection2.local_candidates
19 connection1.remote_username = connection2.local_username
20 connection1.remote_password = connection2.local_password
21
22 connection2.remote_candidates = connection1.local_candidates
23 connection2.remote_username = connection1.local_username
24 connection2.remote_password = connection1.local_password
25
26 # connect
27 await asyncio.gather(
28 connection1.connect(),
29 connection2.connect()
30 )
31
32 # send data
33 await connection1.send(b'hello')
34 data, component = await connection2.recv()
35 print(f'Received: {data!r}')
36
37 # close connections
38 await connection1.close()
39 await connection2.close()
40
41if __name__ == "__main__":
42 asyncio.run(run())