12345678910111213141516171819202122232425262728293031 |
- # A local signaling server. Add this to autoloads with name "Signaling" (/root/Signaling)
- extends Node
- # We will store the two peers here
- var peers = []
- func register(path):
- assert(peers.size() < 2)
- peers.append(path)
- if peers.size() == 2:
- get_node(peers[0]).peer.create_offer()
- func _find_other(path):
- # Find the other registered peer.
- for p in peers:
- if p != path:
- return p
- return ""
- func send_session(path, type, sdp):
- var other = _find_other(path)
- assert(other != "")
- get_node(other).peer.set_remote_description(type, sdp)
- func send_candidate(path, mid, index, sdp):
- var other = _find_other(path)
- assert(other != "")
- get_node(other).peer.add_ice_candidate(mid, index, sdp)
|