This is chat application uses Apple's Network framework. To send/receive messages we create a bidirectional data connection between two users. Data flows between a local endpoint and a remote endpoint.
Demonstrated Objects and Protocols Table
Object
Description
NWConnection
A bidirectional data connection between a local endpoint and a remote endpoint
NWListener
An object you use to listen for incoming network connections.
NWBrowser
An object you use to browse for available network services.
NWProtocolFramer
A customizable network protocol for defining application message parsers.
NWProtocolFramerImplementation
A protocol to which your classes can conform in order to implement a custom framing protocol.
NWPath
An object that contains information about the properties of the network that a connection uses, or that are available to your app.
NWPathMonitor
An observer that you use to monitor and react to network changes.
Create Host
Join Host
create-host.mov
join-host.mov