public void RPC_QueryAllActivePlanesInfo(RPC.RPCForwardInfo fwd) { RPC.PackageWriter pkg = new RPC.PackageWriter(); H_RPCRoot.smInstance.HGet_DataServer(pkg).QueryAllActivePlanesInfo(pkg, fwd.Handle); pkg.WaitDoCommand(mDataServer.Connect, RPC.CommandTargetType.DefaultType, new System.Diagnostics.StackTrace(1, true)).OnFarCallFinished = delegate(RPC.PackageProxy _io, bool bTimeOut) { RPC.DataReader dr; _io.Read(out dr); RPC.PackageWriter retPkg = new RPC.PackageWriter(); UInt16 count = 0; dr.Read(out count); retPkg.Write(count); for (UInt16 i = 0; i < count; i++) { ushort id = dr.ReadUInt16(); string planesName = dr.ReadString(); retPkg.Write(id); retPkg.Write(planesName); } retPkg.DoReturnGate2Client(fwd); }; }