Jump To:
Leopard Reference Library
Networking capabilities in Mac OS X include support for the major protocols and services. Developers can gain access to them through sockets and Core Services, as well as through the higher-level Carbon and Cocoa APIs.

Provides a guided introduction to developing network-capable applications for Mac OS X.   Essential information for developers using Apple's networking environment.   API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
AirPort/802.11 Technical Q&As 2008-06-03
Advertising a Bonjour service on a specific set of networking interfaces. (HTML)
QA1513: Explains how to register a Bonjour service only on a specific set of networking interfaces.
Bonjour Technical Q&As 2007-02-12
Bonjour and wake from sleep (HTML)
QA1290: Explains why applications that use Bonjour should stay registered and continue browsing on sleep.
Bonjour Technical Q&As 2003-09-18
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Bonjour Technical Q&As 2004-03-23
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Bonjour Technical Q&As 2004-07-14
Bonjour Overview (HTML) (PDF)
Explains how to use Apple's zero-configuration networking architecture in Cocoa applications.
Bonjour Guides 2006-05-23
Bonjour service types used in Mac OS X (HTML)
QA1312: Provides a list of common Bonjour service types used in Mac OS X.
Bonjour Technical Q&As 2004-07-14
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Bonjour Technical Q&As 2003-10-23
Clearing mDNSResponder's cached records (HTML)
QA1310: Clearing the Bonjour service cache (mDNSResponder's cached records) for testing purposes.
Bonjour Technical Q&As 2004-02-11
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Bonjour Technical Q&As 2004-06-01
DNS Service Discovery C Reference (HTML)
Describes the DNS Service Discovery API for implementing Bonjour in an application.
Bonjour Reference 2008-04-23
DNS Service Discovery Java Reference (HTML)
Describes DNS Service Discovery API features of ZeroConf networking for Java on Mac OS X in Javadoc format.
Bonjour Reference 2008-10-15
DNS Service Discovery Programming Guide (HTML) (PDF)
Explains how to use DNS Service Discovery in your application.
Bonjour Guides 2005-11-09
DNSServiceDiscovery Mach-Based API (HTML) (PDF)
Deprecated.
Bonjour Guides 2005-04-29
DNSServiceMetaQuery (HTML) (DMG) (ZIP)
Shows how to discover Bonjour service types being advertised on the local network.
Bonjour Sample Code 2005-06-01
DockBrowser (HTML) (DMG) (ZIP)
Demonstrates how to use CFNetServices to take advantage of Bonjour service discovery and name resolution.
Bonjour Sample Code 2005-02-08
Don't forget to cancel your Bonjour resolve (HTML)
QA1297: Explains why it's important to cancel a Bonjour resolve operation.
Bonjour Technical Q&As 2007-08-30
Duplicate Bonjour services while browsing (HTML)
QA1333: Explains how to work with multiple network interfaces when browsing for Bonjour services.
Bonjour Technical Q&As 2004-02-06
Embedding Bonjour in Windows Applications (HTML)
TN2210: Details the proper steps necessary for a Windows Developer to include Bonjour for Windows in their application.
Bonjour Technical Notes 2008-01-17
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Bonjour Technical Q&As 2008-06-03
Leopard Technology Series for Developers: OS Foundations (HTML)
Leopard Overview article on system-level updates.
Bonjour Articles 2007-09-04
Mixing link-local IP addresses and routable IP addresses (HTML)
QA1357: Explains how to enable communication between devices with link-local addresses and devices with routable addresses.
Bonjour Technical Q&As 2005-07-06
NSL and how it relates to Bonjour (HTML)
QA1299: Explains the relationship between NSL and Bonjour.
Bonjour Technical Q&As 2003-09-18
NSNetServices and CFNetServices Programming Guide (HTML) (PDF)
Describes how to implement Bonjour in Cocoa or Carbon applications.
Bonjour Guides 2008-10-15
PictureSharing (HTML) (DMG) (ZIP)
Demonstrates how to use NSNetServices to advertise a service using Bonjour.
Bonjour Sample Code 2005-02-08
PictureSharingBrowser (HTML) (DMG) (ZIP)
Demonstrates how to use NSNetServices to take advantage of Bonjour service discovery and name resolution.
Bonjour Sample Code 2005-02-08
PortMapper (HTML) (DMG) (ZIP)
Demonstrates Bonjour's NAT port-mapping API, and provides a higher-level Objective-C interface to it.
Bonjour Sample Code 2008-07-25
Problems getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Bonjour Technical Q&As 2005-07-06
Registering a Bonjour service multiple times (HTML)
QA1311: Explains why registering the same Bonjour service twice on the same machine doesn't cause a name conflict.
Bonjour Technical Q&As 2003-10-23
Resolves may return an IPv6 address in Panther (HTML)
QA1298: Explains why you get an IP address of 0.0.0.0 when resolving a Bonjour service.
Bonjour Technical Q&As 2005-01-10
The state of mDNSResponder (HTML)
QA1339: Explains how to obtain information regarding the internal state of mDNSResponder.
Bonjour Technical Q&As 2006-10-03
Updating the TXT record of a Bonjour service (HTML)
QA1302: Explains how to update a Bonjour TXT record while running on either Jaguar or Panther.
Bonjour Technical Q&As 2004-07-14
Use empty string for Bonjour domains (HTML)
QA1331: Explains what to specify for the domain parameter when using Bonjour API's.
Bonjour Technical Q&As 2004-02-06
Use the Computer Name when registering your Bonjour service (HTML)
QA1228: Explains why you should use the Computer Name when advertising a Bonjour service.
Bonjour Technical Q&As 2004-03-05
68K Open Transport Code on Power Macintoshes (HTML)
Deprecated - NW48: Explains why running Open Transport 68K code on a PowerPC may not always work.
Carbon Technical Q&As 1997-03-14
Aborting a OTConnect in Progress (HTML)
Deprecated - NW29: Describes the proper way to abort OTConnect, and why after calling OTSndDisconnect you may receive "kOTOutStateErr".
Carbon Technical Q&As 1996-05-14
Accessing HTTPS Proxy Settings (HTML) (日本語 HTML)
QA1234: Describes how to programatically access Secure Web Proxy information.
Carbon Technical Q&As 2003-02-19
Allocate and Disk Full Error (HTML) (日本語 HTML)
FL12: Discusses a problem with AFP volumes displaying incorrect free space, and returning disk full errors.
Carbon Technical Q&As 1999-07-21
Bonjour and wake from sleep (HTML)
QA1290: Explains why applications that use Bonjour should stay registered and continue browsing on sleep.
Carbon Technical Q&As 2003-09-18
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Carbon Technical Q&As 2004-03-23
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Carbon Technical Q&As 2004-07-14
Bonjour Printer Subtype for HTTP (HTML)
QA1555: Describes how printer vendors can register their bonjour service such that Safari can see them.
Carbon Technical Q&As 2008-03-25
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Carbon Technical Q&As 2003-10-23
BSDLLCTest (HTML) (DMG) (ZIP)
Program sample demonstrates how to send and receive raw LLC Ethernet packets.
Carbon Sample Code 2003-06-12
Calling CloseOpenTransport When Writing an App (HTML) (日本語 HTML)
Deprecated - NW36: Identifies a bug in Open Transport 1.1 which means your application must CloseOpenTransport before quitting.
Carbon Technical Q&As 1996-07-03
CFHostSample (HTML) (DMG) (ZIP)
Uses the CFHost API to do DNS hostname lookups and to determine host reachability.
Carbon Sample Code 2004-04-20
CFNetwork Reference Collection (HTML) (PDF)
Describes the C APIs for performing a variety network tasks.
Carbon Reference 2008-07-15
CFNetworkHTTPDownload (HTML) (DMG) (ZIP)
Demonstrates how to download a URL using CFNetworking.
Carbon Sample Code 2006-01-18
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Carbon Technical Q&As 1997-03-14
Closing the Connection: OpenTransport (HTML) (日本語 HTML)
Deprecated - NW20: Describes an orderly disconnect situation in Open Transport between two nodes.
Carbon Technical Q&As 1996-03-04
Determining if a Drive is a Network Volume (HTML) (日本語 HTML)
NW09: Shows how to determine if a volume is mounted over the network.
Carbon Technical Q&As 1998-06-01
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Carbon Technical Q&As 2004-06-01
Don't forget to cancel your Bonjour resolve (HTML)
QA1297: Explains why it's important to cancel a Bonjour resolve operation.
Carbon Technical Q&As 2007-08-30
Downloading through a proxy server in Mac OS X (HTML)
QA1296: Explains when downloading through a proxy server will work, and when it will fail.
Carbon Technical Q&As 2003-10-29
Error -3168 (kOTStateChangeErr) and Handoff Endpoints (HTML) (日本語 HTML)
Deprecated - NW22: Explains why a kOTStateChangeErr -3168 occurs when there is a handoff endpoint involved.
Carbon Technical Q&As 1996-04-08
fBroadCastAddr Always Zero (HTML) (日本語 HTML)
Deprecated - NW58: Explains why the fBroadcastAddr field may be zero after a call to OTInetGetInterfaceInfo and includes the workaround.
Carbon Technical Q&As 1999-03-08
GetSetOptions (HTML) (DMG) (ZIP)
Demonstrates a variety of uses of Open Transport's option management routines.
Carbon Sample Code 2003-01-14
Getting a Packet Trace (HTML) (日本語 HTML)
QA1176: Lists tools available for looking at the network packets on the wire.
Carbon Technical Q&As 2008-06-03
Getting the User and Computer Name (HTML)
QA1078: Describes how to get the user and computer name on Mac OS X.
Carbon Technical Q&As 2001-10-30
Handing Off TCP Connections to a Different Port (HTML) (日本語 HTML)
NW25: Explains that a passive TCP connection cannot hand off the connection to a different port address.
Carbon Technical Q&As 1996-05-14
How to use URL Access with proxy servers (HTML)
Deprecated - QA1074: Explains how to use URL Access with proxy servers.
Carbon Technical Q&As 2001-10-02
ImageClient (HTML) (DMG) (ZIP)
Demonstrates how to use CFNetwork for synchronous and asynchronous operations, network diagnostics, proxy navigation, and authentication.
Carbon Sample Code 2005-06-01
Internet Config Reference (HTML) (PDF)
Describes the legacy technology for managing Internet preferences in Classic Mac OS.
Carbon Reference 2003-05-01
Internet Connect Speed (HTML) (日本語 HTML)
QA1165: Describes how to get the modem connection speed from the System Configuration framework dynamic store.
Carbon Technical Q&As 2003-03-26
ListMania (HTML) (DMG) (ZIP)
Demonstrates a variety of techniques for using Open Transport's list utility routines.
Carbon Sample Code 2003-01-14
LocalServer (HTML) (DMG) (ZIP)
Deprecated - Sample demonstrates how a Classic process can communicate with a Mac OS X process using IP networking protocols.
Carbon Sample Code 2003-01-30
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Carbon Sample Code 2003-10-27
Network Services Location Manager (Legacy) (HTML) (PDF)
Deprecated - Explains how to have a Carbon application discover available network services.
Carbon Guides 2006-05-23
NoCopyReceives (HTML) (DMG) (ZIP)
Demonstrates using no-copy receives under Open Transport.
Carbon Sample Code 2003-01-14
NSLMiniBrowser (HTML) (DMG) (ZIP)
Deprecated - Uses the NSL API to find network services using SLP, NBP, and Directory Services.
Carbon Sample Code 2003-01-14
Numerous Small Packet Exchanges Resultin Poor TCP Performance (HTML) (日本語 HTML)
NW26: Explains why numerous small package exchanges result in poor TCP performance.
Carbon Technical Q&As 1998-05-25
Open Transport Error -3208: kEBADFErr (HTML) (日本語 HTML)
NW21: Explains why a call to OTSnd may result in a kEBADFErr -3208.
Carbon Technical Q&As 1996-03-04
Open Transport Libraries (HTML) (日本語 HTML)
NW18: Lists the Open Transport libraries and what to link with for PowerPC and 68K.
Carbon Technical Q&As 2000-11-03
Open Transport Reference (HTML) (PDF)
Describes the Carbon compatibility library for accessing TCP/IP networks at the transport level.
Carbon Reference 2005-07-07
OS Services Framework Release Notes (HTML)
Carbon Release Notes 2007-10-31
OT Virtual Server (HTML) (DMG) (ZIP)
Deprecated - Sample code which uses Open Transport and demonstrates real world issues.
Carbon Sample Code 2003-01-14
OTEndpointInfo (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to query an endpoint for its 'vital statistic' using OTGetEndpointInfo.
Carbon Sample Code 2003-08-20
OTLookupNameTest (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to lookup NBP entities on an AppleTalk network using Open Transport.
Carbon Sample Code 2003-01-14
OTMP (HTML) (DMG) (ZIP)
Deprecated - A library for calling Open Transport synchronously from preemptively scheduled tasks (MP tasks).
Carbon Sample Code 2003-07-22
OTPingSample (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to implement ping on top of the Open Transport API.
Carbon Sample Code 2003-07-22
OTScheduleDeferredTask When Task Running (HTML) (日本語 HTML)
NW52: Describes what happens when you use OTScheduleDefferedTask to schedule a task that is running.
Carbon Technical Q&As 1997-10-13
OTScheduleSystemTask Cleanup (HTML) (日本語 HTML)
Deprecated - NW37: States the proper way to clean up any pending system tasks scheduled with OTScheduleSystemTask.
Carbon Technical Q&As 1996-07-03
PPPoE Server for Testing (HTML) (日本語 HTML)
QA1252: Describes how to configure Mac OS X as a PPPoE server for testing purposes.
Carbon Technical Q&As 2003-04-11
Problems getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Carbon Technical Q&As 2005-07-06
PSetSelfSend in Classic AppleTalk vs. Open Transport AppleTalk (HTML) (日本語 HTML)
NW23: Describes the relationship between PSetSelfSend in Classic AppleTalk and Open Transport AppleTalk.
Carbon Technical Q&As 1996-05-14
QISA (HTML) (DMG) (ZIP)
Demonstrates the basics of writing an Internet setup assistant for traditional Mac OS and Mac OS X.
Carbon Sample Code 2003-05-15
Raw IP and Open Transport 2.5.x (HTML)
Deprecated - NW63: Discusses Open Transport 2.5's change to the behavior of raw IP endpoints with IP_HDRINCL set.
Carbon Technical Q&As 1999-10-25
Receiving UDP Broadcasts (HTML) (日本語 HTML)
Deprecated - NW53: Explains why UDP endpoints may never receive UDP broadcast messages.
Carbon Technical Q&As 1997-11-17
Resolves may return an IPv6 address in Panther (HTML)
QA1298: Explains why you get an IP address of 0.0.0.0 when resolving a Bonjour service.
Carbon Technical Q&As 2005-01-10
Server Endpoint 'qlen' Limit (HTML) (日本語 HTML)
Deprecated - NW38: Tells how to determine the maximum 'qlen' value which limits the number of supported handoff endpoints.
Carbon Technical Q&As 1996-08-21
Setting request headers in URL Access (HTML) (日本語 HTML)
Deprecated - QA1073: Explains how to work around a bug in URL Access when setting request headers.
Carbon Technical Q&As 2002-09-10
Synchronous TCP OTConnect Client Call Completes Before Server Responds (HTML) (日本語 HTML)
Deprecated - NW24: Explains why an OTConnect call will complete before the server responds.
Carbon Technical Q&As 1996-05-14
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) (日本語 HTML)
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Carbon Technical Q&As 1996-10-25
TCP Application Acquires Different Port Address After Relaunch (HTML)
Deprecated - NW28: Explains why a server application acquires a different TCP/IP port address after restarting.
Carbon Technical Q&As 1996-05-14
TCP Option Sizes (HTML)
Deprecated - NW27: Tells where to get more information on TCP Option sizes and setting TCP Options.
Carbon Technical Q&As 1996-05-14
TCP/IP Option Sizes (HTML) (日本語 HTML)
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Carbon Technical Q&As 1999-04-26
Update: Borrowed AFP Sessions (HTML) (日本語 HTML)
TN1106: Shows how to borrow the session reference number of an AFP volume mounted by the Macintosh File System.
Carbon Technical Notes 2000-08-14
Updating the TXT record of a Bonjour service (HTML)
QA1302: Explains how to update a Bonjour TXT record while running on either Jaguar or Panther.
Carbon Technical Q&As 2004-07-14
URL Access and the Missing Progress Dialog (HTML) (日本語 HTML)
Deprecated - QA1140: Explains a known bug in URL Access related to progress dialogs.
Carbon Technical Q&As 2002-09-23
URL Access Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for transferring data to and from a URL from within an application. Replaced by CFNetwork.
Carbon Reference 2006-07-13