How can you do WebRTC over a local network with no internet connection?

前端 未结 1 636
囚心锁ツ
囚心锁ツ 2021-02-08 11:34

I want to have two different computers open a static html page, and be able to communicate to each other via WebRTC over a local area network. There is no internet connection t

1条回答
  •  一整个雨季
    2021-02-08 12:01

    You do not need ICE servers in this case. In general, you have the following ICE candidates normally:

    • host (are generated by the client by binding to its locally assigned IP addresses and port)
    • srflx (server reflex candidates are generated by using STUN)
    • relay (relay candidates are generated by using TURN)

    So without ICE servers you will have only host candidates generated which is enough in your case because both users are in the same local network.

    Although WebRTC enables peer-to-peer communication, it still needs a server for signaling: to enable the exchange of media and network metadata to bootstrap a peer connection.

    So the main problem here is that you need to exchange the “offer” and “answer” between endpoints somehow, so each party will have enough information about each other. Normally, some signaling protocol + public server is used for this purpose.

    In your case, you have 3 choices:

    • to setup a direct p2p WebSocket connection between 2 browsers. Not sure if it's possible. Looks like a browser can only connect to other endpoint, not to listen.
    • manually copy\past the 'offer' and 'answer' SDP, which is not good as well I think
    • have some 3rd computer with some signaling server installed, so others peers will use it to exchange the 'offer' and 'answer' between each other

    0 讨论(0)
提交回复
热议问题