コード例 #1
0
ファイル: RpcClientChannel.cs プロジェクト: ilahsa/bai_pro
 /// <summary>创建连接,单工连接或者双工连接,适用于高级的Channel</summary>
 public virtual RpcConnection CreateConnection(ServerUri serverUri, RpcConnectionMode mode)
 {
     if (mode == RpcConnectionMode.Simplex)
     {
         return(new RpcSimplexConnection(this, serverUri));
     }
     else
     {
         throw new NotSupportedException();
     }
 }
コード例 #2
0
        /// <summary>
        ///		创建连接
        /// </summary>
        /// <param name="serverUri"></param>
        /// <param name="mode">单工或是双工连接</param>
        /// <returns></returns>
        public override RpcConnection CreateConnection(ServerUri serverUri, RpcConnectionMode mode)
        {
            switch (mode)
            {
            case RpcConnectionMode.Simplex:
                return(new RpcTcpSimplexConnection(this, (TcpUri)serverUri, p_channelSettings.ConcurrentConnection));

            case RpcConnectionMode.Duplex:
                return(new RpcTcpDuplexConnection(this, (TcpUri)serverUri));

            default:
                throw new NotSupportedException();
            }
        }
コード例 #3
0
ファイル: RpcConnection.cs プロジェクト: ilahsa/bai_pro
 /// <summary>
 ///		创建一个RpcConnection
 /// </summary>
 /// <param name="mode">模式</param>
 /// <param name="direction">方向</param>
 /// <remarks>被动连接(Server)在连接创建时建立,主动连接(Client)在BeginConnect后连接</remarks>
 public RpcConnection(RpcConnectionMode mode, RpcConnectionDirection direction)
 {
     _mode      = mode;
     _direction = direction;
 }