public override void Start()
{
if (Status == ListenerStatus.Listening)
return;
try
{
_listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
_listener.Bind(Endpoint);
_listener.Listen(6);
_listener.BeginAccept(_endAcceptCallback, _listener);
RaiseStatusChanged(ListenerStatus.Listening);
}
catch (SocketException)
{
RaiseStatusChanged(ListenerStatus.PortNotFree);
}
}