public void Disconnect(AsyncWrapper obj) { if (obj != null) try { if (obj.IncomingSocket != null) { obj.IncomingSocket.Shutdown(System.Net.Sockets.SocketShutdown.Both); obj.IncomingSocket.Close(); } obj.IncomingSocket = null; if (obj.Client != null) ClientDisconnect(obj); } catch (ObjectDisposedException e) { Console.WriteLine(e); } obj = null; }
public void Connect(IAsyncResult result) { if (AcceptConnections) { AsyncWrapper obj = new AsyncWrapper(_port); try { obj.IncomingSocket = pConnection.EndAccept(result); if (obj.IncomingSocket == null) { obj = null; pConnection.BeginAccept(new AsyncCallback(Connect), null); return; } ClientConnect.Invoke(obj); obj.IncomingSocket.BeginReceive(obj.Data, 0, 8192, SocketFlags.None, Receive, obj); } catch (Exception e) { obj = null; Console.WriteLine(e); } pConnection.BeginAccept(new AsyncCallback(Connect), null); } }
private static void gameServer_ClientConnect(AsyncWrapper obj) { obj.Client = new World.Client(obj.IncomingSocket, obj.Port); }
private static void accountServer_ClientReceive(AsyncWrapper obj, byte[] data) { if (Functions.PacketSniffing.Sniffing) Functions.PacketSniffing.Sniff(data, false); Connections.PacketHandler.HandleAuthentication(obj, data); obj.OutgoingSocket.Send(data); }
private static void accountServer_ClientConnect(AsyncWrapper obj) { Console.WriteLine("Client Connected"); obj.StartSending(); }
private static void gameServer_ClientReceive(AsyncWrapper obj, byte[] buffer) { World.Client client = obj.Client as World.Client; client.Continue = true; Again: if (client.Continue) { Connections.PacketHandler.HandleBuffer(client, buffer, true); } else goto Again; }