private void OnTcpClientAccepted(IAsyncResult ar) { try { SNetTcpClient Client = new SNetTcpClient(Server.EndAcceptTcpClient(ar)); Client.OnDisconnected += InternalOnClientDisconnected; Client.OnPacketCompleted += InternalOnClientPacketComplete; Client.OnPartialPacketCompleted += InternalOnClientPartialPacketComplete; Client.OnPartialPacketSendt += InternalOnPartialPacketSendt; Clients.Add(Client); if (OnClientConnected == null) { return; } OnConnectedDelegate EventDelegate = OnClientConnected; EventDelegate(Client); Server.BeginAcceptTcpClient(new AsyncCallback(OnTcpClientAccepted), null); } catch { } }
private void InternalOnPartialPacketSendt(SNetTcpClient Client, byte[] Data, ushort PacketHeader, int SendtBytes, int PacketLenght) { if (OnClientPartialPacketSendt == null) { return; } OnPartialPacketSendtDelegate EventDelegate = OnClientPartialPacketSendt; EventDelegate(Client, Data, PacketHeader, SendtBytes, PacketLenght); }
private void InternalOnClientPartialPacketComplete(SNetTcpClient Client, UInt16 PacketHeader, int RecievedBytes, uint PacketLenght) { if (OnClientPartialPacketCompleted == null) { return; } OnPartialPacketRecievedDelegate EventDelegate = OnClientPartialPacketCompleted; EventDelegate(Client, PacketHeader, RecievedBytes, PacketLenght); }
private void InternalOnClientPacketComplete(SNetTcpClient Client, ref byte[] Data, UInt16 PacketHeader) { if (OnClientPacketComplete == null) { return; } OnPacketCompletionDelegate EventDelegate = OnClientPacketComplete; EventDelegate(Client, ref Data, PacketHeader); }
private void InternalOnClientDisconnected(SNetTcpClient Client) { if (Clients != null) { Clients.Remove(Client); } if (OnClientDisconnected != null) { OnDisconnectedDelegate EventDelegate = OnClientDisconnected; EventDelegate(Client); } Client.Dispose(); }
static void Server_OnClientPacketComplete(SNetTcpClient Client, ref byte[] Data, ushort PacketHeader) { Console.WriteLine("[S] Recieved: " + ASCIIEncoding.ASCII.GetString(Data)); }