Thankyou both for your replies!

With the new code above I get as far as attempting to receive something back and there appears to be a fault along this line:

listener.Start()

Description:
An unhandled exception of type 'System.Net.Sockets.SocketException' occurred in System.dll

Additional information: The requested address is not valid in its context.

I feel we are getting quite close.