Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

Networking Overview

Mac OS X offers a range of networking technologies for application developers, including BSD Sockets, Bonjour, and the cross-platform Safari web browser. You also have access to high-level frameworks such as Core Foundation, Web Kit, and Web Services. Plus, system administrators will find that the range of networking services offered on Mac OS X simplifies the management of multiple machines and user home directories.

BSD Sockets is the fundamental network programming interface on Mac OS X; all of the higher-level frameworks are based on it. It is a good choice if you want maximum performance and flexibility. Also, because it is the defacto standard for UNIX network programming, BSD Sockets is the best choice if you're porting software from other platforms.

Bonjour is the powerful, zero configuration, standards-based protocol from Apple that makes it easy to find systems and services on a local network automatically, without requiring a network administrator to enter IP addresses or configure DNS servers. Most of the services and applications on Mac OS X that have networking capabilities use Bonjour, for example: printer discovery, chatting in iChat, music sharing in iTunes, and Xcode's distributed build function. Bonjour is supported by a wide range of devices, servers, and other network-enabled services on TCP/IP networks, and includes a sophisticated, yet easy-to-use, programming interface that is accessible from C, Objective-C in Cocoa, Java, Ruby, and Python.

Apple's modern web browser, Safari, is built-in to Mac OS X, enabling you to use key Safari technologies in your programs. For example, you can use the Web Kit framework to render HTML in your own windows. The Foundation URL Loading System represents the back end of Safari, and allows you to access the contents of HTTP, HTTPS, and FTP URLs using a very high-level programming framework. This framework supports cookie storage, response caching, credential storage and authentication, and the development of custom protocol extensions.

Safari is also available on Windows and iPhone, and on those platforms provides access to the same underlying technologies as on Mac OS X.

Core Foundation provides two frameworks for networking: Core Foundation (CF) and CFNetwork. The CF framework provides generic sockets and streams. The CFNetwork framework lets you access HTTP and FTP services, create SSL and HTTPS streams, and manage dial-up connections.

The Web Services framework provides a convenient interface for accessing web services through XML-RPC, SOAP, Apple Events, and the AppleScript scripting language.

The System Configuration framework gives you powerful support for reconfiguring the computer's network settings programmatically as well as for writing Internet setup assistant software, and also allows you to check for network connectivity, and control transient network connections (such as PPP).

For system administrators, the System Image Utility allows you to easily create NetBoot and NetInstall images that can be deployed over the network. Network Home Directories allow you to centralize data in a machine independent manner, and access it from different operating systems. Xsan, Apple's SAN file system, provides shared storage optimized for your workload, including a new streaming data layout. Xsan is fully integrated into the Spotlight search experience, and supports the standard Spotlight APIs.

You can use the networking technologies on Mac OS X to develop software that accomplishes a wide range of networking tasks across platforms, including secure transactions, display of web content, file retrieval, and access to web services within your application.

For news, updates and links to other ADC content related to Networking on Mac OS X, return to the Networking topic page.

Updated: 2007-10-26