【发布时间】:2014-01-21 17:06:02
【问题描述】:
我只是尝试在 MonodroidApp(AndroidEmulator) 和 localDevServer 之间发送和接收数据。我了解 localhost 在 AndroidEmulator 上专门映射到“10.0.2.2”,所以我做了以下操作,但应用程序没有响应。
System.Text.Encoding enc = System.Text.Encoding.UTF8;
string sendMsg = "testtest";
byte[] sendBytes = enc.GetBytes(sendMsg);
int localPort = 39000;
var udp = new System.Net.Sockets.UdpClient(localPort);
//send data
string remoteHost = "10.0.2.2";//"127.0.0.1";
int remotePort = 15000;
udp.Send(sendBytes, sendBytes.Length,
remoteHost, remotePort);
//receive data
System.Net.IPEndPoint remoteEP = null;
byte[] rcvBytes = udp.Receive(ref remoteEP);
string rcvMsg = enc.GetString(rcvBytes);
Console.WriteLine("received data:{0}", rcvMsg);
Console.WriteLine("sender address:{0}/port:{1}",
remoteEP.Address, remoteEP.Port);
此代码经验证可与 Mono for Mac 和带有指针的 localDevServer 一起使用:remoteHost = "127.0.0.1"
所以,
remoteHost = "10.0.2.2" 模式不起作用。
我错过了什么?任何人,有什么想法吗?
谢谢。
【问题讨论】:
标签: android android-emulator udp xamarin.android localhost