void OnAccept(IAsyncResult ar)
{
Socket accepted = null;
try
{
accepted = listen_socket.EndAccept(ar);
}
catch
{
}
finally
{
if (!stopped)
listen_socket.BeginAccept(accept_cb, null);
}
if (accepted == null || stopped)
return;
accepted.Blocking = true;
Request request = new Request(accepted);
accepted.BeginReceive(request.Buffer, 0, request.Length, SocketFlags.None, new AsyncCallback(OnReceive), request);
}