public override Socket CreateSocket()
{
if (bindAddress == null)
throw new InvalidOperationException ("No address/port to listen");
var listen_socket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
listen_socket.Bind (bindAddress);
return listen_socket;
}