Exemplo n.º 1
0
 public static void UnsetAndSetPort(
     Protocol protocol,
     int port,
     int program,
     int version,
     PortMapperClientSettings clientSettings = default)
 {
     using (var portMapperClient = new PortMapperClient(Protocol.Tcp, IPAddress.Loopback, clientSettings))
     {
         portMapperClient.Unset(
             new Mapping
         {
             Program  = program,
             Protocol = protocol,
             Version  = version
         });
         portMapperClient.Set(
             new Mapping
         {
             Port     = port,
             Program  = program,
             Protocol = protocol,
             Version  = version
         });
     }
 }
Exemplo n.º 2
0
 public static int GetPort(
     Protocol protocol,
     IPAddress ipAddress,
     int program,
     int version,
     PortMapperClientSettings clientSettings = default)
 {
     using (var portMapperClient = new PortMapperClient(Protocol.Tcp, ipAddress, clientSettings))
     {
         return(portMapperClient.GetPort(
                    new Mapping
         {
             Program = program,
             Protocol = protocol,
             Version = version
         }));
     }
 }
Exemplo n.º 3
0
        public PortMapperClient(
            Protocol protocol,
            IPAddress ipAddress,
            PortMapperClientSettings portMapperClientSettings = default)
        {
            var settings = new ClientSettings();

            if (portMapperClientSettings != null)
            {
                settings.Port           = portMapperClientSettings.Port;
                settings.Logger         = portMapperClientSettings.Logger;
                settings.ReceiveTimeout = portMapperClientSettings.ReceiveTimeout;
                settings.SendTimeout    = portMapperClientSettings.SendTimeout;
            }

            if (settings.Port == 0)
            {
                settings.Port = PortMapperConstants.PortMapperPort;
            }

            this.client = new Internal.PortMapperClient(protocol, ipAddress, settings);
        }