private void OnClientAccepted(Socket socket)
    {
        var client = new BinaryTransport <Packet>(socket);

        client.Disconnected   += OnDisconnected;
        client.ObjectReceived += OnObject;
        _clients.Add(client);
    }
 public void Run()
 {
     // start server
     _server = new ServerExample();
     _server.Start(new IPEndPoint(IPAddress.Loopback, 1234));
     // start client
     _client = new BinaryTransport <Packet>(new IPEndPoint(IPAddress.Loopback, 1234));
     // send stuff from client to server
     _client.Send("Hello world!");
     // send custom object
     _client.Send(new User {
         FirstName = "Jonas", LastName = "Gauffin"
     });
 }