다음을 통해 공유


DnssdServiceInstance 클래스

정의

DNS-SD(DNS 서비스 검색)를 사용하는 서비스의 인스턴스를 캡슐화합니다.

참고

Win32 DNS-SD(DNS 서비스 검색) API는 windns.h 헤더에 선언됩니다. 예를 들어 서비스를 발표하고 검색하기 위한 Win32 API는 DnsServiceRegisterDnsServiceBrowse입니다.

public ref class DnssdServiceInstance sealed : IStringable
/// [Windows.Foundation.Metadata.Activatable(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class DnssdServiceInstance final : IStringable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class DnssdServiceInstance final : IStringable
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class DnssdServiceInstance : IStringable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Networking.ServiceDiscovery.Dnssd.IDnssdServiceInstanceFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class DnssdServiceInstance : IStringable
function DnssdServiceInstance(dnssdServiceInstanceName, hostName, port)
Public NotInheritable Class DnssdServiceInstance
Implements IStringable
상속
Object Platform::Object IInspectable DnssdServiceInstance
특성
구현

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

설명

다른 DNS-SD 사용자에게 자신을 보급하는 서비스를 제공하거나 DNS-SD를 통해 보급된 서비스를 사용하는 경우 이 클래스를 사용합니다.

코드가 이전에 등록된 서비스와 동일한 이름으로 서비스 인스턴스를 등록하려고 하면 지정한 이름의 끝에 숫자를 괄호로 추가하여 충돌을 방지하기 위해 서비스의 이름이 바뀝니다. 예를 들어 "mygame"을 지정하고 해당 이름이 이미 다른 서비스에 등록된 경우 서비스의 이름이 "mygame(2)"과 같이 바뀝니다. 이 작업이 완료되면 DnssdRegistrationResult.HasInstanceNameChangedtrue로 설정됩니다.

생성자

DnssdServiceInstance(String, HostName, UInt16)

지정된 인스턴스 이름, 호스트 이름 및 포트를 사용하여 새 DnssdServiceInstance 개체를 만듭니다.

속성

DnssdServiceInstanceName

DnssdServiceInstance의 DNS-SD 서비스 인스턴스 이름을 가져오거나 설정합니다.

HostName

DnssdServiceInstance에 대한 호스트의 호스트 이름을 가져오거나 설정합니다.

Port

DnssdServiceInstance에서 사용하는 포트 번호를 가져오거나 설정합니다.

Priority

서비스 위치(DNS SRV)를 지정하기 위한 RFC 2782 A DNS RR에 정의된 대로 이 서비스 인스턴스에 할당할 우선 순위 값을 가져오거나 설정합니다. 클라이언트는 Priority 를 사용하여 연결할 몇 가지 동등한 서비스 인스턴스를 결정합니다.

TextAttributes

문자열의 [name, value] 쌍 목록으로 이 서비스 인스턴스의 특성을 가져옵니다. 서비스 클라이언트에서 특성을 검사하여 서비스 인스턴스에 대한 추가 정보를 확인할 수 있습니다.

서비스에서 사용하는 특정 특성 이름과 값은 서비스 디자이너에 의해 결정됩니다. 예를 들어 멀티 플레이어 게임의 서비스 인스턴스에는 인스턴스가 사용 중인 게임 맵 또는 인스턴스의 게임 난이도 수준을 설명하는 특성이 있을 수 있습니다. 다른 서비스 인스턴스는 다른 맵 또는 난이도 수준에서 활성화되며, 게임 서비스를 사용하는 클라이언트는 특성 값을 사용하여 플레이어가 선호하는 맵 또는 난이도 수준에 연결할 게임 서버 인스턴스를 결정할 수 있습니다.

Weight

RFC 2782에 정의된 대로 이 서비스 인스턴스에 할당된 가중치 값을 가져오거나 설정합니다. 클라이언트는 가중치 값을 사용하여 동일한 우선 순위 값을 가진 서버 중에서 선택합니다.

메서드

RegisterDatagramSocketAsync(DatagramSocket)

서비스에 대한 UDP(데이터그램) 소켓 수신기를 지정된 소켓에 비동기적으로 등록합니다.

RegisterDatagramSocketAsync(DatagramSocket, NetworkAdapter)

서비스에 대한 UDP(데이터그램) 소켓 수신기를 지정된 소켓 및 네트워크 어댑터에 비동기적으로 등록합니다.

RegisterStreamSocketListenerAsync(StreamSocketListener)

서비스에 대한 TCP(스트림) 소켓 수신기를 지정된 소켓에 비동기적으로 등록합니다.

RegisterStreamSocketListenerAsync(StreamSocketListener, NetworkAdapter)

지정된 소켓 및 네트워크 어댑터에서 서비스에 대한 스트림(TCP) 소켓 수신기를 비동기적으로 등록합니다.

ToString()

이 서비스 인스턴스의 DNS 서버 리소스 레코드(SRV RR)를 문자열로 가져옵니다.

DNS-SD 클라이언트 및 서버에서 이러한 레코드를 사용하는 방법에 대한 자세한 내용은 RFC 1034 도메인 이름 - DNS SRV RR의 형식 및 내용에 대한 개념 및 기능 및 RFC 2782RFC 6763 DNS-Based Service Discovery 를 참조하세요.

적용 대상

추가 정보