On Apr 13, 2015, at 11:29 AM, Jens Alfke <[email protected]> wrote: >> On Apr 13, 2015, at 8:31 AM, Jeff Johnson <[email protected]> >> wrote: >> >> I try to get kCFStreamPropertySocketRemoteHostName and >> kCFStreamPropertySocketRemotePortNumber from both the read stream and the >> write stream, but again I always get NULL. > > Have you tried kCFStreamPropertySocketRemoteHost? (Although I haven’t found > this property to work either in the related case of a stream opened from an > _incoming_ TCP connection.)
Trying now, but I'm getting NULL for that property. >> Isn't this supposed to work? Isn't the net service supposed to resolve when >> you open the streams? > > My guess is that the address is resolved but at a lower level in the stack, > and the resolved address doesn’t get stored into the NetService object > itself. Which would be a bug. > > Workarounds I can think of: > (a) Use a lower-level (Unix) API to get the remote address from the > underlying socket file descriptor. I don’t know these APIs well enough to > tell you how to do it, other than to guess that getsockopt might be involved. > (b) Instead of calling the convenience routine > CFStreamCreatePairWithSocketToNetService, DIY by first resolving the > NetService, getting the address, and then opening streams to it. Unfortunately, the reason I'm using CFStreamCreatePairWithSocketToNetService in the first place is to avoid resolving the net service manually. > (c) Do without the address. There shouldn’t be much need for it, except for > debugging purposes. I want the host and port is to send a "Host" header. I might be able to get away without it, but I'd prefer to adhere to standards. _______________________________________________ Do not post admin requests to the list. They will be ignored. Macnetworkprog mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/macnetworkprog/archive%40mail-archive.com This email sent to [email protected]
