/// <summary> /// Phương thức khởi tạo tĩnh. Khởi tạo các template cho từng từng DHCPOption Code. Những DHCPOption chưa tạo class thì dùng class DHCPOptionGeneric /// </summary> static DHCPMessage() { optionsTemplates = new IDHCPOption[256]; for (int t = 1; t < 255; t++) { optionsTemplates[t] = new DHCPOptionGeneric((EDHCPOption)t); } RegisterOption(new DHCPOptionFixedLength(EDHCPOption.Pad)); RegisterOption(new DHCPOptionFixedLength(EDHCPOption.End)); RegisterOption(new DHCPOptionSubnetMask1()); RegisterOption(new DHCPOptionDefaultRouter3()); RegisterOption(new DHCPOptionDomainNameServer6()); RegisterOption(new DHCPOptionRequestedIPAddress50()); RegisterOption(new DHCPOptionIPAddressLeaseTime51()); RegisterOption(new DHCPOptionMessageType53()); RegisterOption(new DHCPOptionServerIdentifier54()); RegisterOption(new DHCPOptionParameterRequestList55()); RegisterOption(new DHCPOptionMessage56()); RegisterOption(new DHCPOptionMaximumMessageSize57()); RegisterOption(new DHCPOptionVendorClassIdentifier60()); RegisterOption(new DHCPOptionClientIdentifier61()); // HAVE TO DO // RegisterOption(new DHCPOptionHostName()); // RegisterOption(new DHCPOptionOptionOverload()); // RegisterOption(new DHCPOptionTFTPServerName()); // RegisterOption(new DHCPOptionBootFileName()); // RegisterOption(new DHCPOptionRenewalTimeValue()); // RegisterOption(new DHCPOptionRebindingTimeValue()); }
public override IDHCPOption FromStream(Stream stream) { var obj = new DHCPOptionGeneric(_optionType); obj._Data = new byte[stream.Length]; stream.Read(obj._Data, 0, obj._Data.Length); return(obj); }