Socket Class Intro - Recap
There wasn't too much that was covered here, but we got our feet wet with using the raw
Socket class. In the next section we will cover usage of the async methods in
Socket. Get ready for callbacks everywhere!
Why is using the Socket class directly more efficient than something like TcpClient or UdpClient?
As I said before, classes like
UdpClient have and underlying
Socket object (which can actually be accessed via the
Client property in both). "Why would we even want to use
Socket if it's more complicated?" you might ask.
If you chose to use
UdpClient there is a slight amount of overhead versus working directly with a
Socket. If you truly need a high octane riced app, then go with
Socket. The performance/efficiency benefits mostly come from using the async methods of
Socket, which are all callback based. Yes, yes.
UdpClient do have async methods too, but the Socket
class has a lot more of them which gives you way more flexibility than the other two do.