Replies: 7 comments 4 replies
-
TURN relay is used to transfert all datas while the signaling server is here to find your external IP (STUN) and send all known peers id/ips to clients so they can connect to each others. The signaling server is not used to send datas. |
Beta Was this translation helpful? Give feedback.
-
Bro I know what it is. I don’t want to pay for an additional websocket
server. The idea is to create a temporary turn connection to set up the
signaling between peers. Due to firewalls I have to pay for a turn server
anyway.
…On Sat, Aug 6, 2022 at 9:23 AM Nemirtingas ***@***.***> wrote:
TURN relay is used to transfert all datas while the signaling server is
here to find your external IP (STUN) and send all known peers id/ips to
clients so they can connect to each others. The signaling server is not
used to send datas.
—
Reply to this email directly, view it on GitHub
<#695 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABWZ7WIP7XTKCHV5UT2ZIIDVX2GPJANCNFSM55DWLAQQ>
.
You are receiving this because you authored the thread.Message ID:
<paullouisageneau/libdatachannel/repo-discussions/695/comments/3340104@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
Yes many thousands of users
…On Sat, Aug 6, 2022 at 11:44 AM Nemirtingas ***@***.***> wrote:
I don't use TURN server, you mean you're actually paying for this kind of
service ? Its for a professional app ? TURN server needs to have enought
power/bandwidth to handle packet redirections, but signalling server
shouldn't consume that much, or maybe you have thousands of users ?
I've setup my own signaling server, I know some people used public hosts
to setup their signaling server, they use some service like pastbin or
something so they modify the only file when they connect then read it again
to get all peers, maybe you can setup something like that too ?
—
Reply to this email directly, view it on GitHub
<#695 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABWZ7WKGKK4XN2K22YTX3OLVX2XAZANCNFSM55DWLAQQ>
.
You are receiving this because you authored the thread.Message ID:
<paullouisageneau/libdatachannel/repo-discussions/695/comments/3340630@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
You need to have a signaling server of some kind as you need to let both devices know the others IP address. This is two strings you need to exchange every time two devices decide to connect to each other and it is really not a lot of work. 80% of the SDP is the same, so with some hacks you can store just the candidates themselves. Your cheapest option is going to be some kind of database backed store with an HTTP frontend. This isn't free, like anything else. You'll likely be able to get away with Cloudflare workers and it'll be a few bucks a month or if you're really good at what you do, one PHP/SQL server. You can try libtotrent, but any time you try to piggy back off of others it'll be an unreliable (and insecure) solution. As for the turn server, it will be required the moment you try to use it behind a non-cheapo-residential firewall, but that's like 10-20% of residential connections. But turn compute should be very cheap so most of your costs will be bandwidth, not compute. |
Beta Was this translation helpful? Give feedback.
-
No, signaling is not just a relay, it's more like a meeting point for the two peers to exchange connection information before establishing it.
No, TURN only allows to allocate a public-facing network port and relay the traffic, it can't serve as meeting point.
Signaling should be more or less integrated with your own application backend to handle authentication, peer discovery, rooms, etc. It can be performed over the protocol of your choice, you don't have to use WebSockets. |
Beta Was this translation helpful? Give feedback.
-
We have a central database to act as the meeting point but the cost of
funneling signaling through it is prohibitive. All that’s needed is a relay
…On Sat, Aug 6, 2022 at 12:34 PM Paul-Louis Ageneau ***@***.***> wrote:
Isn't the websocket signaling basically just another relay?
No, signaling is not a relay, more like a meeting point for the two peers
to exchange connection information before establishing it.
Wouldn't it be possible to use the TURN server (that's already required)
to transmit signaling messages?
No, TURN only allows to allocate a working network port and relay the
traffic, it can't serve as meeting point.
Why pay for both?
Signaling should be more or less integrated with your own application
backend to handle authentication, peer discovery, rooms, etc. It can be
performed over the protocol of your choice, you don't have to use
WebSockets.
—
Reply to this email directly, view it on GitHub
<#695 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABWZ7WNQFG4QPJPMR6U7XUDVX243FANCNFSM55DWLAQQ>
.
You are receiving this because you authored the thread.Message ID:
<paullouisageneau/libdatachannel/repo-discussions/695/comments/3340813@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
Another option I was considering was to elect one of the peers as the
signaling server, use the database to signal with that peer, and then use a
datachannel relay for the rest of the signaling.
On Sat, Aug 6, 2022 at 1:07 PM Christopher Oliver <
***@***.***> wrote:
… We have a central database to act as the meeting point but the cost of
funneling signaling through it is prohibitive. All that’s needed is a relay
On Sat, Aug 6, 2022 at 12:34 PM Paul-Louis Ageneau <
***@***.***> wrote:
> Isn't the websocket signaling basically just another relay?
>
> No, signaling is not a relay, more like a meeting point for the two peers
> to exchange connection information before establishing it.
>
> Wouldn't it be possible to use the TURN server (that's already required)
> to transmit signaling messages?
>
> No, TURN only allows to allocate a working network port and relay the
> traffic, it can't serve as meeting point.
>
> Why pay for both?
>
> Signaling should be more or less integrated with your own application
> backend to handle authentication, peer discovery, rooms, etc. It can be
> performed over the protocol of your choice, you don't have to use
> WebSockets.
>
> —
> Reply to this email directly, view it on GitHub
> <#695 (comment)>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ABWZ7WNQFG4QPJPMR6U7XUDVX243FANCNFSM55DWLAQQ>
> .
> You are receiving this because you authored the thread.Message ID:
> <paullouisageneau/libdatachannel/repo-discussions/695/comments/3340813@
> github.com>
>
|
Beta Was this translation helpful? Give feedback.
-
Isn't the websocket signaling basically just another relay? Wouldn't it be possible to use the TURN server (that's already required) to transmit signaling messages? Why pay for both?
Beta Was this translation helpful? Give feedback.
All reactions