내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

ProximityDevice.PublishMessage(String, String, MessageTransmittedHandler) | publishMessage(String, String, MessageTransmittedHandler) Method

메시지를 지정된 메시지 유형의 구독자에게 게시합니다. 메시지가 전송되면 지정된 처리기가 호출됩니다.

구문


var number = proximityDevice.publishMessage(messageType, message, messageTransmittedHandler);

매개 변수

messageType

형식: String [JavaScript] | System.String [.NET] | Platform::String [C++]

구독자에게 배달할 메시지의 형식입니다.

message

형식: String [JavaScript] | System.String [.NET] | Platform::String [C++]

구독자에게 배달할 메시지입니다.

messageTransmittedHandler

형식: MessageTransmittedHandler

메시지가 전송될 때 호출할 처리기입니다.

반환 값

형식: Number [JavaScript] | System.Int64 [.NET] | int64 [C++]

게시된 메시지의 고유한 게시 ID입니다.

설명

SubscribeForMessage 메서드를 사용하여 게시된 메시지를 구독할 수 있습니다.

메시지는 StopPublishingMessage 메서드가 호출되거나 ProximityDevice 개체가 해제될 때까지 계속 게시됩니다.

메시지는 메시지 형식으로 가입된 모든 응용 프로그램에 전달됩니다(messageType 매개 변수로 표시). 메시지 형식 값은 두 부분(프로토콜과 하위 형식)으로 구성된 대/소문자 구분 문자열입니다. 프로토콜이 먼저 오고 점(.)이 온 다음 하위 형식이 옵니다. PublishMessage 메서드의 경우 프로토콜은 항상 "Windows"여야 합니다. 하위 형식은 영숫자 문자 추가 문자(. ( ) + , - : = @ ; $ _ ! * ’)로 구성된 문자열입니다. 하위 형식은 250자를 초과할 수 없습니다.

“WindowsMime”, “NDEF:WriteTag” 같은 다른 메시지 형식을 사용하여 메시지를 게시하려면 PublishBinaryMessage 메서드를 사용해야 합니다.

PublishUriMessage 메서드를 사용하여 근접 컴퓨터에 URI(Uniform Resource Identifier)를 게시할 수 있습니다.

메시지는 전송되기 전에 UTF-8 문자로 변환됩니다.

Windows 스토어 앱의 경우 호출 앱이 포그라운드에 있을 경우에만 게시 및 구독이 활성화됩니다.

중요   

근접 센서 API는 인증, 암호화 또는 메시지 무결성을 제공하지 않습니다. 근접 연결을 사용하여 암호, 재무 데이터, 텍스트 메시지, 전자 메일, 사진 또는 주민 등록 번호와 같은 중요 사용자 정보를 교환하지 마십시오.

예제


function id(elementId) {
    return document.getElementById(elementId);
}

var proximityDevice;
var publishedMessageId = -1;
var subscribedMessageId = -1;

function initializeProximityDevice() {
    proximityDevice = Windows.Networking.Proximity.ProximityDevice.getDefault();

    if (proximityDevice) {
        id("publishMessageButton").addEventListener("click", publishMessage);
        id("subscribeForMessageButton").addEventListener("click", subscribeForMessage);
id("stopSubscribingForMessageButton").addEventListener("click", 
    stopSubScribingForMessage);
id("stopPublishingMessageButton").addEventListener("click", 
    stopPublishingMessage);
    }
    else {
        id("messageDiv").innerHTML += "Failed to initialized proximity device.<br />";
    }
}

function publishMessage() {
    // Stop publishing the current message.
    if (publishedMessageId != -1) {
        proximityDevice.stopPublishingMessage(publishedMessageId);
    }

    publishedMessageId = 
proximityDevice.publishMessage("Windows.SampleMessage", id("messageText").value,
                                       messagePublished);
}

    function messagePublished(sender, messageId) {
// The message has been successfully published.
}

function subscribeForMessage() {
    // Only subscribe for the message one time.
    if (subscribedMessageId === -1) {
        subscribedMessageId = 
    proximityDevice.subscribeForMessage("Windows.SampleMessage", messageReceived);
    }
}

function messageReceived(device, message) {
    id("messageDiv").innerHTML += "Message received: " + message.dataAsString + "<br />";
}

    function stopSubscribingForMessage() {
proximityDevice.stopSubscribingForMessage(subscribedMessageId);
    subscribedMessageId = -1;
    }

    function stopPublishingMessage() {
proximityDevice.stopPublishingMessage(publishedMessageId);
    publishedMessageId = -1;
    }


요구 사항

지원되는 최소 클라이언트

Windows 8

지원되는 최소 서버

Windows Server 2012

지원되는 최소 전화

Windows Phone 8

Namespace

Windows.Networking.Proximity
Windows::Networking::Proximity [C++]

Metadata

Windows.winmd

Capabilities

proximity
ID_CAP_PROXIMITY [Windows Phone]

참고 항목

ProximityDevice
PublishMessage(String, String)
PublishBinaryMessage
PublishUriMessage
StopPublishingMessage
근접 연결 및 탭(JavaScript)
근접 연결 및 탭(C#/VB/C++)
샘플
근접 연결 샘플

 

 

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft