I've recently been interested in moving my pet project (2d persistent multiplayer game) from C++ (DX & Winsock) to C# using Monogame to make Linux & Mac (and maybe someday IOS & Android) builds easily. While doing my research, it seems that Monogame only supports UDP and I would like to use TCP. The most I've found on this is that I could use System.Net.Sockets, but how would that be portable? If anyone could point me in the right direction to find more information on this, it would be very helpful, I've not had much luck.
As an aside, I've also been contemplating sticking with C++ and just going with SDL, so if someone has a great reason to go that route, I'm all ears.