와 SocketActivityTriggerDetails에서 데이터를 가져 오기, 나는 소켓 브로커 내 백그라운드 작업에서 DatagramSocket로과 SocketActivityTrigger에서 수신 된 데이터를 검색하려고합니다.<a href="https://msdn.microsoft.com/en-us/windows/uwp/networking/network-communications-in-the-background" rel="nofollow noreferrer">MSDN</a>의 예에서 DatagramSocket로
그러나 링크의 예는 StreamSocket입니다 :
public async void Run(IBackgroundTaskInstance taskInstance)
{
var details = taskInstance.TriggerDetails as SocketActivityTriggerDetails;
var socketInformation = details.SocketInformation;
switch (details.Reason)
{
case SocketActivityTriggerReason.SocketActivity:
var socket = socketInformation.StreamSocket;
DataReader reader = new DataReader(socket.InputStream);
reader.InputStreamOptions = InputStreamOptions.Partial;
await reader.LoadAsync(250);
var dataString = reader.ReadString(reader.UnconsumedBufferLength);
break;
}
}
나는, 우리는 출력 스트림에 액세스 할 수 DatagramSocket 객체에서 수신 된 데이터를 찾을 수 없습니다 ..
방법 할 수 있을까요?
감사합니다. 우리가 데이터를 수신 할 때 DatagramSocket
객체의 경우
@ grace-feng-msft 답장을 보내 주셔서 감사합니다.하지만 ** SocketActivityTrigger ** 뒤에 숨겨진 동작을 이해하지 못하는 것 같습니다. 사실 브로커 소켓은 포 그라운드에서 생성 한 DatagramSocket의 소유권을 가져오고 패킷을 받으면 백그라운드 작업을 시작합니다. 그래서 .. MessageReceived 이벤트에 가입 ** 너무 늦었습니다 **, 패킷이 이미 수신되었습니다 : ( –
다른 사람이 나를 도울 수 있습니까? –
@ApynAOM 당신이 이것을 해결할 수 있었습니까? –