在非Windows商店.net應用程序的UDP響應,我發送UDP請求,並同步讀取其響應(使用的System.Net.Sockets類),如下所示:現在的Windows商店應用(贏8.1):閱讀使用DatagramSocket類
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
socket.Connect(endPoint);
socket.Send(byteArray);
socket.Receive(byteArray);
,我試圖做同樣的事情在Windows商店應用 - 視窗8.1(使用Windows.Networking.Sockets的DatagramSocket類):
DatagramSocket udpSocket = new DatagramSocket();
udpSocket.MessageReceived += SocketOnMessageReceived;
await udpSocket.ConnectAsync(new HostName(server), port);
var udpWriter = new DataWriter(udpSocket.OutputStream);
udpWriter.WriteBytes(msgBytes); // send the msg
await udpWriter.StoreAsync();
我現在面臨的問題是,事件處理程序「SocketOnMessageReceived」永遠不會被調用。我錯過了什麼?
我已經啓用的能力「專用網絡(客戶&服務器)」目前。當我嘗試使用「Internet(客戶端&服務器)」功能的相同代碼時,該應用程序崩潰。
我不是一個網絡的概念專家,我是新來的Windows商店應用的開發,並且可以非常感激,在這裏使用了一些指導。
謝謝。