/**
* Class constructor
*/
public Client(TransportClient transport, IClientListener clientListener)
{
this.clientListener = clientListener;
dispatcher = new ChannelDispatcher();
transport.SetChannelDispatcher(dispatcher);
surfaceServer = new SurfaceServer(transport, this);
dispatcher.RegisterChannel(surfaceServer);
sessionServer = new SessionServer(transport, this);
dispatcher.RegisterChannel(sessionServer);
inputServer = new InputServer(transport, this);
dispatcher.RegisterChannel(inputServer);
transport.StartThread();
dispatcher.OnConnect();
}