Mono.Zeroconf : Mono.Zeroconf Namespace

RegisterService Class

The main object used for performing service registrations.

public class RegisterService : IRegisterService

Remarks

RegisterService is used to publish services over Zeroconf. The consumer must specify attributes like the service name and port, and optionally text records.

C# Example
using Mono.Zeroconf;
...
RegisterService service = new RegisterService();
service.Name = "Aaron's DAAP Share";
service.RegType = "_daap._tcp";
service.ReplyDomain = ".local";
service.Port = 3689;
 
// TxtRecords are optional
TxtRecord txt_record = new TxtRecord();
txt_record.Add("Password", "false");
service.TxtRecord = txt_record;
 
service.Register();

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 1.0.0.0, 3.0.0.80, 4.0.0.90

Members

See Also: Inherited members from object.

Public Constructors

Creates a service that may be registered on the local network.

Public Properties

Name string . Name of the service to expose on the network after registration.
Port short . Port of the service on the network.
RegType string . Registration type of the service.
ReplyDomain string . Reply domain for the service.
TxtRecord ITxtRecord . Text record for the service.
UPort ushort . Documentation for this section has not yet been entered.

Public Methods

Dispose ()
Removes the service from the local network, destroys all resources associated with the service.
Register ()
Registers the service on the local network.

Public Events

Response Documentation for this section has not yet been entered.

Member Details

RegisterService Constructor

Creates a service that may be registered on the local network.

public RegisterService ()

Remarks

No registration happens at the object instantiation phase. The Register method must be called on this object to commit the service to the local network through the provider.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

Dispose Method

Removes the service from the local network, destroys all resources associated with the service.

public void Dispose ()

Remarks

This method will remove the service from the local network and also release any associated managed resources.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

Name Property

Name of the service to expose on the network after registration.

public string Name { set; get; }

Value

Initial value is null. Set to the name of the service.

Remarks

Name must be set before the service can be registered. The Name may be any sort of string, and should be user friendly. This name will be exposed in many user interfaces.

Example: "Aaron's Music Share"

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

Port Property

Port of the service on the network.

public short Port { set; get; }

Value

Initial value is 0.

Remarks

Port must be set before registering the service on the network.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

Register Method

Registers the service on the local network.

public void Register ()

Remarks

Until this method is called on the service object, the service will not be available on the local network. After this method is called, any property changes on the object will not be reflected on the published service. Do not make property changes after this method is called.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

RegType Property

Registration type of the service.

public string RegType { set; get; }

Value

Initial value is null.

Remarks

RegType is a somewhat standard naming for service types on a network. Zeroconf clients will use this value to search for specific services on a network.

The value of the property typically takes a form matched by the regular expresion, "^_[a-z]+\._(tcp|udp)$", though this is not enforced at the Mono.Zeroconf level (though it may be at the provider level). For example, "_daap._tcp", or "_workstation._tcp". Typically services are "._tcp", but "._udp" is also valid.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

ReplyDomain Property

Reply domain for the service.

public string ReplyDomain { set; get; }

Value

Initial value is null. If not set by the user, ".local" is assumed.

Remarks

This value does not need to be set if only the .local network is cared about.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

Response Event

Documentation for this section has not yet been entered.

public event RegisterServiceEventHandler Response

Remarks

Documentation for this section has not yet been entered.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

TxtRecord Property

Text record for the service.

public ITxtRecord TxtRecord { set; get; }

Value

Initial value is null. Must be set to a Mono.Zeroconf.TxtRecord instance if a TxtRecord is desired.

Remarks

TxtRecords are a way of associating arbitrary data with a service as a key => value list. Keys (record names) are always strings. Typically values are strings as well, but can also be arbitrary binary data (byte array).

C# Example
TxtRecord txt_record = new TxtRecord ();
txt_record.Add ("Password", "false");
  

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90

UPort Property

Documentation for this section has not yet been entered.

public ushort UPort { set; get; }

Value

Documentation for this section has not yet been entered.

Remarks

Documentation for this section has not yet been entered.

Requirements

Namespace: Mono.Zeroconf
Assembly: Mono.Zeroconf (in Mono.Zeroconf.dll)
Assembly Versions: 3.0.0.80, 4.0.0.90