こんにちは、Windows ストア アプリで MessageWebSocket を使用していますが、メソッド mws() を呼び出すと、次のようになります。
予期しない時間にメソッドが呼び出されました
1 つの接続に同じ MessageWebSocket を使用したいので、別のクラスからこのメソッドを呼び出す必要があり、それが私のメソッドが静的である理由です。
private static MessageWebSocket messageWebSocket = null;
public static MessageWebSocket mws()
{
if (messageWebSocket == null)
messageWebSocket = new MessageWebSocket();
return messageWebSocket;
}
private async void websocketRequestRegisterDevice(object sender, TappedRoutedEventArgs e)
{
...
cos.WriteRawBytes(new byte[] { 7, 1, 0, 0 });
req.WriteTo(cos);
mws();
mws().Control.MessageType = SocketMessageType.Binary;
mws().MessageReceived += websocketResponseRegisterDevice;
await mws().ConnectAsync(server);
messageWriter = new DataWriter(mws().OutputStream);
messageWriter.WriteBytes(buff);
await messageWriter.StoreAsync();
}
私は async メソッドで呼び出しますが、await を使用したい場合は、たとえばメッセージ タイプが awaitable ではないと書いてください。