There are three different implementations for 1 on 1 chat and
file transfer(github):
-
PeerJS WebRTC. The implementation is indeed more reliable than plain WebRTC, thanks to its robust PeerJS server for signaling and seamless WebRTC communication. By starting with a secure initiator and a responsive acceptor, this
solution ensures a smooth and efficient experience for users.
-
Plain WebRTC. This approach begins with a reliable piping server, which sends signals to initiate communication. Then, we seamlessly transition to WebRTC,
utilizing the power of peer-to-peer technology to facilitate real-time chat and file transfers.
- Piping Chat. This approach is the most reliable, as it fully depends on a
piping server. By utilizing a symmetric token key, this approach provides unparalleled security, as every piece of data is safeguarded and only accessible with the correct decryption
key.
WebRTC's peer-to-peer nature makes it an incredibly convenient and direct way to communicate with others, without needing a centralized server in the middle. However, this can be a blessing and a curse - when the internet connection is strong
and reliable, WebRTC can deliver seamless, one-on-one conversations. But, if the network is experiencing some unexpected obstacles, such as NAT or firewalls, or if you need to establish a connection in a new location, a server can serve as
a helpful intermediary to ensure a smooth and successful chat.