예제 #1
0
 public UpnpEngine(PowerLineServer server)
 {
     this.Server        = server;
     this.waitHandle    = new EventWaitHandle(false, EventResetMode.AutoReset);
     this.deviceLock    = new object();
     this.startStopLock = new object();
     this.devices       = new List <UpnpEngineDevice>();
 }
예제 #2
0
 private string GetPowerLineHttpAddress(IPAddress localInterfaceIpOfRemoteEndpoint = null)
 {
     if (this.Server.BindAddress == IPAddress.Any)
     {
         if (localInterfaceIpOfRemoteEndpoint == null)
         {
             return(PowerLineServer.BuildBindUrl(Dns.GetHostName(), this.Server.BindPort));
         }
         else
         {
             return(PowerLineServer.BuildBindUrl(localInterfaceIpOfRemoteEndpoint.ToString(), this.Server.BindPort));
         }
     }
     else
     {
         return(this.Server.BuildBindUrl());
     }
 }
예제 #3
0
        static int Main(string[] args)
        {
            PowerLineServer server = new PowerLineServer(IPAddress.Parse("127.0.0.1"), 2000);

            server.Start();
            Console.WriteLine("Server is running");

            PowerLineEndPoint endpoint = new PowerLineEndPoint("", new PowerLineHandler[] { new NormalMethod() });

            server.AddEndpoint(endpoint);

            server.AddHandler("test", (context) => context.SetResponse(200, "This page is working"));

            server.Wait();
            Console.WriteLine("Done");
            Console.ReadKey();
            return(0);
        }