nanoFramework.Iot.Device.DhcpServer
1.2.574
Prefix Reserved
See the version list below for details.
dotnet add package nanoFramework.Iot.Device.DhcpServer --version 1.2.574
NuGet\Install-Package nanoFramework.Iot.Device.DhcpServer -Version 1.2.574
<PackageReference Include="nanoFramework.Iot.Device.DhcpServer" Version="1.2.574" />
paket add nanoFramework.Iot.Device.DhcpServer --version 1.2.574
#r "nuget: nanoFramework.Iot.Device.DhcpServer, 1.2.574"
// Install nanoFramework.Iot.Device.DhcpServer as a Cake Addin #addin nuget:?package=nanoFramework.Iot.Device.DhcpServer&version=1.2.574 // Install nanoFramework.Iot.Device.DhcpServer as a Cake Tool #tool nuget:?package=nanoFramework.Iot.Device.DhcpServer&version=1.2.574
DHCP Server
This binding offers simple and efficient DHCP capabilities. It is following the RFC2131 and does implement the minimum set to offer decent DHCP capabilities.
Reference
- DHCP referent in RFC2131.
- Options definitions in Wikipedia and IBM.
- Captive Portal option is supported from the latest RFC8910.
Usage
You simply create a server, set the DHCP address and the mask.
DhcpServer dhcpserver = new DhcpServer();
// Give the captive portal URL. Note: this is experimental and as RFC is new, only works on a limited number of devices.
dhcpserver.CaptivePortalUrl = "http://192.168.4.1";
// Starts the serveur with the DHCP server address (should be the device address) and the mask.
dhcpserver.Start(IPAddress.Parse(new IPAddress(new byte[] {192, 168, 4, 1}), new IPAddress(new byte[] { 255, 255, 255, 0 })));
By default the time to leave is set to 1200 seconds, you adjust it.
Also note that the server will smartly manage the IP addresses and will give the preference to any device if it's available or if the device had it before. It will also clean the bails to make sure there is always enough space available.
While you can use this simple and efficient server in a real network, it remains for simple usage and is not recommended in production.
Information on the sample
The sample is a complete example on how to use this DHCP server to provide IP addresses to a phone or a PC you'll connect to the .NET nanoFramework device to setup the Wireless configuration it has to connect to.
Limitations
- This server does only support the basic flow. It does not support advanced flow with Renew and Release.
- While you can specify the mask you want, internally, the server only support mask C. So it will allocate 253 addresses maximum.
- While the Captive Portal option is supported from the latest RFC8910, only few OS and mobile phones supports it today. It is still experimental.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net is compatible. |
-
- nanoFramework.CoreLibrary (>= 1.15.5)
- nanoFramework.Runtime.Events (>= 1.11.18)
- nanoFramework.System.IO.Streams (>= 1.1.59)
- nanoFramework.System.Net (>= 1.11.1)
- nanoFramework.System.Text (>= 1.2.54)
- nanoFramework.System.Threading (>= 1.1.32)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on nanoFramework.Iot.Device.DhcpServer:
Package | Downloads |
---|---|
MakoIoT.Device.Services.ConfigurationManager
Configuration mode manager for MAKO-IoT |
|
MakoIoT.Device.Services.WiFi.AP
WiFi Access Point library for MAKO-IoT |
|
MakoIoT.Device.Services.ConfigurationApi
REST API for configuration with MAKO-IoT |
|
MakoIoT.Device.Platform.LocalConfig
MAKO-IoT Platform local configuration library. On-device web server, WiFi AP |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on nanoFramework.Iot.Device.DhcpServer:
Repository | Stars |
---|---|
nanoframework/Samples
🍬 Code samples from the nanoFramework team used in testing, proof of concepts and other explorational endeavours
|
Version | Downloads | Last updated |
---|---|---|
1.2.667 | 138 | 12/16/2024 |
1.2.644 | 1,733 | 10/23/2024 |
1.2.602 | 2,233 | 8/28/2024 |
1.2.574 | 908 | 7/31/2024 |
1.2.541 | 715 | 6/14/2024 |
1.2.519 | 1,690 | 5/15/2024 |
1.2.507 | 1,009 | 4/15/2024 |
1.2.454 | 2,108 | 1/31/2024 |
1.2.450 | 626 | 1/27/2024 |
1.2.443 | 714 | 1/19/2024 |
1.2.407 | 4,827 | 11/10/2023 |
1.2.378 | 1,222 | 10/11/2023 |
1.2.300 | 2,501 | 5/26/2023 |
1.2.284 | 702 | 5/12/2023 |
1.2.268 | 187 | 5/3/2023 |
1.2.174 | 1,020 | 12/28/2022 |
1.2.124 | 479 | 11/5/2022 |
1.2.112 | 416 | 10/25/2022 |
1.2.89 | 498 | 10/11/2022 |
1.2.85 | 395 | 10/8/2022 |
1.2.66 | 432 | 9/22/2022 |
1.2.60 | 458 | 9/16/2022 |
1.2.6 | 457 | 8/4/2022 |
1.2.1 | 395 | 8/2/2022 |