コード例 #1
0
 public TcpClientConnection(
     TcpConnectionEndPoint connectionEndPoint)
     : base((connectionEndPoint?.ConnectionSettings?.EnableMessageFraming).GetValueOrDefault(true),
            connectionEndPoint?.ConnectionSettings ?? new ClientConnectionSettings())
 {
     _clientConnectionSettings = (ClientConnectionSettings)_connectionSettings;
     _remoteEndPoint           = connectionEndPoint.RemoteEndPoint ?? throw new ArgumentNullException(nameof(connectionEndPoint.RemoteEndPoint));
     _localEndPoint            = connectionEndPoint.LocalEndPoint;
 }
コード例 #2
0
        public NamedPipeClientConnection(
            NamedPipeConnectionEndPoint connectionEndPoint)
            : base(false, connectionEndPoint?.ConnectionSettings ?? new ClientConnectionSettings(keepAliveMilliseconds: 0 /*by default named pipe does't require keep alive messages*/))
        {
            if (_connectionSettings.UseBufferedStream)
            {
                throw new NotSupportedException();
            }

            _clientConnectionSettings = (ClientConnectionSettings)_connectionSettings;
            _remoteNamedPipeName      = connectionEndPoint.RemoteEndPointName ?? throw new ArgumentNullException(nameof(connectionEndPoint.RemoteEndPointName));
            _remoteNamedPipeHost      = connectionEndPoint.RemoteEndPointHost ?? throw new ArgumentNullException(nameof(connectionEndPoint.RemoteEndPointName));
        }
コード例 #3
0
 public static IConnection CreateClient(string remoteEndPointHost, string remoteEndPointName, ClientConnectionSettings connectionSettings = null)
 => CreateClient(new NamedPipeConnectionEndPoint(remoteEndPointHost: remoteEndPointHost, remoteEndPointName: remoteEndPointName, connectionSettings: connectionSettings));
コード例 #4
0
 public static IConnection CreateRedundantClient(IPAddress[] remoteAddresses, int remotePort, ClientConnectionSettings connectionSettings = null)
 => ServiceRef.Create <IConnection>(new RedundantConnection(remoteAddresses.Select(remoteAddress => CreateClient(remoteAddress, remotePort, connectionSettings: connectionSettings)).ToArray()));
コード例 #5
0
 public static IConnection CreateRedundantClient(IPEndPoint[] remoteEndPoints, ClientConnectionSettings connectionSettings = null)
 => ServiceRef.Create <IConnection>(new RedundantConnection(remoteEndPoints.Select(ipEndpoint => CreateClient(ipEndpoint, connectionSettings: connectionSettings)).ToArray()));
コード例 #6
0
 public static IConnection CreateClient(string localIp, int localPort, string remoteIp, int remotePort, ClientConnectionSettings connectionSettings = null)
 => CreateClient(new TcpConnectionEndPoint(localEndPoint: new IPEndPoint(IPAddress.Parse(localIp), localPort), remoteEndPoint: new IPEndPoint(IPAddress.Parse(remoteIp), remotePort), connectionSettings));
コード例 #7
0
 public static IConnection CreateClient(IPAddress localIp, int localPort, IPAddress remoteIp, int remotePort, ClientConnectionSettings connectionSettings = null)
 => CreateClient(new TcpConnectionEndPoint(localEndPoint: new IPEndPoint(localIp, localPort), remoteEndPoint: new IPEndPoint(remoteIp, remotePort), connectionSettings: connectionSettings));
コード例 #8
0
 public static IConnection CreateClient(IPEndPoint localEndPoint, IPEndPoint remoteEndPoint, ClientConnectionSettings connectionSettings = null)
 => CreateClient(new TcpConnectionEndPoint(localEndPoint: localEndPoint, remoteEndPoint: remoteEndPoint, connectionSettings: connectionSettings));
コード例 #9
0
 public static IConnection CreateClient(IPAddress remoteIp, int remotePort, ClientConnectionSettings connectionSettings = null)
 => CreateClient(new IPEndPoint(remoteIp, remotePort), connectionSettings);