Example #1
0
        /// <summary>
        /// 调用服务端实现的Api
        /// </summary>
        /// <param name="api">Api行为的api</param>
        /// <param name="parameters">参数列表</param>
        /// <exception cref="SocketException"></exception>
        /// <exception cref="SerializerException"></exception>
        public void InvokeApi(string api, params object[] parameters)
        {
            var packet = new FastPacket(api, this.packetIdProvider.NewId(), true);

            packet.SetBodyParameters(this.Serializer, parameters);
            this.Send(packet.ToArraySegment());
        }
Example #2
0
        /// <summary>
        /// 调用远程端实现的Api
        /// </summary>
        /// <param name="api">数据包Api名</param>
        /// <param name="parameters">参数列表</param>
        /// <exception cref="SocketException"></exception>
        /// <exception cref="SerializerException"></exception>
        public void InvokeApi(string api, params object[] parameters)
        {
            var id     = this.middleware.PacketIdProvider.NewId();
            var packet = new FastPacket(api, id, false);

            packet.SetBodyParameters(this.middleware.Serializer, parameters);
            this.session.Send(packet.ToArraySegment());
        }
Example #3
0
 /// <summary>
 /// 发送数据包
 /// </summary>
 /// <param name="package">数据包</param>
 /// <returns></returns>
 private bool TrySendPackage(FastPacket package)
 {
     try
     {
         return(this.Send(package.ToArraySegment()) > 0);
     }
     catch (Exception)
     {
         return(false);
     }
 }