---
title: "CFStreamCreatePairWithSocketToHost(_:_:_:_:_:)"
framework: corefoundation
role: symbol
role_heading: Function
path: "corefoundation/cfstreamcreatepairwithsockettohost(_:_:_:_:_:)"
---

# CFStreamCreatePairWithSocketToHost(_:_:_:_:_:)

Creates readable and writable streams connected to a TCP/IP port of a particular host.

## Declaration

```swift
func CFStreamCreatePairWithSocketToHost(_ alloc: CFAllocator!, _ host: CFString!, _ port: UInt32, _ readStream: UnsafeMutablePointer<Unmanaged<CFReadStream>?>!, _ writeStream: UnsafeMutablePointer<Unmanaged<CFWriteStream>?>!)
```

## Parameters

- `alloc`: The allocator to use to allocate memory for the CFReadStream and CFWriteStream objects. Pass NULL or doc://com.apple.corefoundation/documentation/CoreFoundation/kCFAllocatorDefault to use the current default allocator.
- `host`: The hostname to which the socket streams should connect. The host can be specified using an IPv4 or IPv6 address or a fully qualified DNS hostname.
- `port`: The TCP port number to which the socket streams should connect.
- `readStream`: Upon return, a readable stream connected to the socket address in port. If you pass NULL, this function will not create a readable stream. Ownership follows the https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html#//apple_ref/doc/uid/20001148-103029.
- `writeStream`: Upon return, a writable stream connected to the socket address in port. If you pass NULL, this function will not create a writable stream. Ownership follows the https://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html#//apple_ref/doc/uid/20001148-103029.

## Discussion

Discussion The streams do not create a socket, resolve the hostname, or connect to the remote host until you open one of the streams. Most properties are shared by both streams. Setting a shared property for one stream automatically sets the property for the other.

## See Also

### Creating Streams

- [CFStreamCreatePairWithPeerSocketSignature(_:_:_:_:)](corefoundation/cfstreamcreatepairwithpeersocketsignature(_:_:_:_:).md)
- [CFStreamCreatePairWithSocket(_:_:_:_:)](corefoundation/cfstreamcreatepairwithsocket(_:_:_:_:).md)
- [CFStreamCreateBoundPair(_:_:_:_:)](corefoundation/cfstreamcreateboundpair(_:_:_:_:).md)
- [CFStreamCreatePairWithSocketToCFHost(_:_:_:_:_:)](cfnetwork/cfstreamcreatepairwithsockettocfhost(_:_:_:_:_:).md)
- [CFStreamCreatePairWithSocketToNetService(_:_:_:_:)](cfnetwork/cfstreamcreatepairwithsockettonetservice(_:_:_:_:).md)
