Let's see if I'm understanding things correctly...

The NSNetService publishes on a port and the server creates an NSFileHandle (fh1) for the NSNetService to begin listening to connection attempts. This fileHandle is listening on the same port on which the netService was published.

An NSNetServiceBrowser on the client finds the NSNetService and notifies via its netServiceBrowser:didFindService:moreComing: delegate method.

The client attempts to resolveWithTimeout to the netService.

If the resolving succeeds, then the client attempts to connect to the server by creating an NSFileHandle init'd with a fileDescriptor gleaned from the [netService addresses]; This now opens a port on the client.

(This is where things start getting fuzzy)
The server, meanwhile, is notified that someone is trying to hook up to fh1, and gets a new fileHandle via the notification object sent along in the NSFileHandleConnectionAcceptedNotification.

Is this new fileHandle different from the original fileHandle on the server? Is this new fileHandle operating on a different port than the original? Is this even the proper way to be going about this? Am I anywhere close to getting this working?

Thanks a ton!

Dave

On Jan 9, 2009, at 7:10 PM, Andrew Farmer wrote:

On 09 Jan 09, at 17:57, Markus Spoettl wrote:
How does one go about advertising a service via bonjour like in the Picture Sharing example AND allow multiple connections instead of just one? Is it as simple as creating multiple listeningSockets? Or create a new listening socket each time you get a connection to the existing one?

Reading a tutorial on network programming may prove helpful here. Here's one:

 http://beej.us/guide/bgnet/output/html/multipage/index.html

The short answer is that a single listening socket is sufficient; a new socket representing a connection is created when each client connects.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to