On client we can use CFStreamCreatePairWithSocketToHost to get ReadStream and WriteStream.
After the server got clientSocket how can we got ReadStream and WriteStreaam?
import UIKit class Connection: NSObject, NSStreamDelegate { var inputStream: NSInputStream! var outputStream: NSOutputStream! func connect() { var readStream: Unmanaged<CFReadStream>? var writeStream: Unmanaged<CFWriteStream>? CFStreamCreatePairWithSocketToHost(nil, "193.10.1.22", 17, &readStream, &writeStream) self.inputStream = readStream!.takeRetainedValue() self.outputStream = writeStream!.takeRetainedValue() self.inputStream.delegate = self self.outputStream.delegate = self self.inputStream.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode) self.outputStream.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode) self.inputStream.open() self.outputStream.open() } }