File handling IS easy, if you want to read or write info. It gets a little more complicated when you want to do both. mIRC's file handling is just a little bit easier when you want to store and retrieve specific info from a file. But, I was bored so I wrote my own function to store and retrieve from a file pretty much the same way.
As for sockets... they are a manifestation of satan himself in C++. I have no idea what .NET is like, because I have no need to program sockets for Windows. I use a Linux compiler. Umm.. .NET may be available on Linux, I have no clue. I haven't really found much out about .NET.
Actually, my problem with sockets is finding a good reference on them. If there was a website or help file that had a good, solid explanation of sockets and how to implement them my life would be easier.