void RealmProxy_OnRealmStartupRequest(RealmClient.RealmStartupRequest packet, ref PacketFlag flag) { bnetProxy = ProxyServer.FindBnetProxyForRealm(packet.Username); if (bnetProxy != null) { bnetProxy.Proxy.RealmProxy = this; this.Proxy = bnetProxy.Proxy; } }
private void OnAcceptTcpClient(IAsyncResult ar) { TcpClient tcpClient = tcpListener.EndAcceptTcpClient(ar); BaseProxy proxyClient = null; try { tcpListener.BeginAcceptTcpClient(new AsyncCallback(OnAcceptTcpClient), null); } catch (Exception) { tcpListener = null; throw; } switch (proxyType) { case ProxyType.Bnet : proxyClient = new BnetProxy(tcpClient); proxyClient.ProxyServer = this; BnetProxies.Add((BnetProxy)proxyClient); break; case ProxyType.Realm : proxyClient = new RealmProxy(tcpClient); RealmProxies.Add((RealmProxy)proxyClient); break; case ProxyType.Game : proxyClient = new GameProxy(tcpClient); GameProxies.Add((GameProxy)proxyClient); break; } this.ClientConnected(proxyClient, new EventArgs()); }