【发布时间】:2011-09-13 12:05:18
【问题描述】:
使用以下代码,我在 MonoDroid + Simulator 下没有收到任何 UDP 数据报。但是同样的代码在 MonoTouch 下运行良好...
好的,我知道无法保证同一段代码在不同平台上的工作方式相似。但归根结底,这是我在 iOS 和 Android 上使用 C# 所期望的。
System.Threading.Thread udpListener = new System.Threading.Thread(() =>
{
System.Net.Sockets.UdpClient udpClient = new System.Net.Sockets.UdpClient(UDP_PORT);
while (true)
{
try
{
System.Net.IPEndPoint sender = new System.Net.IPEndPoint(System.Net.IPAddress.Any, 0);
byte[] bytes = udpClient.Receive(ref sender);
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(bytes))
{
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(MyMessageList));
MyMessageList messages = serializer.Deserialize(ms) as MyMessageList;
if (messages != null) ParseNotificationMessages(messages);
}
}
catch (System.Exception exp)
{
}
}
});
udpListener.IsBackground = true;
udpListener.Start();
干杯,帕特里克
【问题讨论】:
标签: c# mono xamarin.ios xamarin.android udpclient