For each ipv4 or ipv6 address, there are 65535 port numbers. Some are well-known and some are not. The range 49152-65535 are private port numbers (ie, not well-known like 80 for HTTP, or 25 for SMTP) and can be used at will by the user without fear of colliding with IANA port-numbers that have been set aside for powerful corporations like Microsoft, Cisco and IBM. The IP address plus the port number constitutes the endpoint. You were referring to the port number as being universal for all IP addresses which is not correct for the private range. With the advent of IPv6, this habit IANA has of granting universal port numbers will discontinue. Therefore, it is not proper to refer to a port number is as being a "service name", but merely as one of 65535 numbers associated with a particular IP address, IPv4 or IPv6. Endpoint is the proper term. Your ConnectAsync method establishes an endpoint.
Nov 16, 2011 at 7:05 AM
@ryanb: You mentioned being "stuck with" Win32/MFC while the managed code world has had XAML/WPF for a long time implying that MFC has not changed forever. Not true. There was a big MFC upgrade in VS 2010. They added Ribbon to the resource editor. It is called 'MFC Ribbon' as compared to other implementations of the ribbon technology. MFC 2010's resource editor looks like Blend's design editor, but without the need to view or change the XAML code. I am assuming a 'ribbon' is the main element in what Jensen calls 'Photoshop-like' desktop applications. MFC Ribbon-generated code and ribbon programming code can be mixed in MFC 2010 apps at the statement level. I have no doubt that Microsoft will make MFC 2012 WRL compatible and we will be able to generate WRL MFC apps just like we do ATL MFC apps today.