PlaneTalk is an iOS app written in Swift which lets you send messages to other devices connected to the same Wi-fi-Hotspot network. It's suitable in places where there is no internet connection like airplanes (hence the name PlaneTalk 😃).
The core functionalities are all built around some TCP and UDP's syscall
and uses kevent
as event notification system.
The UDP protocol is only being used for discovery's purposes whereas the TCP protocol is being used to connect and communicate with the server.
Sample 1 | Sample 2 | Sample 3 |
---|---|---|
When a device launches the app, it can choose to become either the server or a client.
The server is listening to UDP messages to detect clients in the network and opens a TCP socket to receive connection's requests. Clients instead, will broadcast UDP messages for discovery purposes. Once the server receives a discovery message, it broadcasts a discovery response message and then the client then connects to the server via TCP.
- Copyright 2020 © Annino De Petra