嗨,我在我的 Windows 商店应用程序中使用 MessageWebSocket,但是当我调用方法 mws() 时,我得到:
在意外的时间调用了一个方法
我需要从另一个类调用此方法,因为我想为一个连接使用相同的 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();
}
我在异步方法中调用它,但如果我想使用 await 写给我,例如消息类型是不可等待的。