private void OnAccept(IAsyncResult result)
{
// find the connection.
Socket listeningSocket = result.AsyncState as Socket;
if (listeningSocket == null && !listeningSocket.Connected)
{
return;
}
try
{
// accept the socket.
Socket socket = listeningSocket.EndAccept(result);
// go back and wait for the next connection.
listeningSocket.BeginAccept(OnAccept, listeningSocket);
// connect to the server.
Connect(socket, m_serverUrl);
}
catch (Exception e)
{
Utils.Trace(e, "Unexpected error accepting a new connection.");
}
}