Use a TcpListener on the C# side, and a
flash.net.Socket[
^] on the Flash side. If you have a specific protocol for the data you want to send, you will need to implement that on both sides.
I have a functional version of the client part of my socket library in Flash (AS3), minus the RSA portion (I couldn't find that in the libraries). If you start from a working C# socket implementation the Flash version is quite similar, once you hook up the events as the example shows.
Don't forget to put a crossdomain.xml on your site if the Flash is externally hosted, otherwise you won't be able to connect.