0
我無法檢測到網絡中存在的設備。 我正在使用兩個應用程序。一個是用C++編寫的,另一個是windows phone 7應用程序。從Wp7我發送UDP廣播,我從How to broadcast a UDP packet on WP7 Mango?引用我能夠從wp7廣播消息和在C++應用程序接收。但我無法從C++代碼接收UDP數據包。 這是我的代碼。 C#代碼Windows phone 7中的設備發現
private void PageTitle_Tap(object sender, GestureEventArgs e)
{
var ipAddress = IPAddress.Parse("255.255.255.255");
var endpoint = new IPEndPoint(ipAddress, 4998);
byte[] data = Encoding.UTF8.GetBytes("hello|4998");
var args = new SocketAsyncEventArgs();
args.RemoteEndPoint = endpoint;
args.SetBuffer(data, 0, data.Length);
args.Completed += new EventHandler<SocketAsyncEventArgs>(args_Completed);
socket = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram,
ProtocolType.Udp);
bool result = socket.ConnectAsync(args);
}
void args_Completed(object sender, SocketAsyncEventArgs e)
{
if (e.SocketError != SocketError.Success)
{
return;
}
switch (e.LastOperation)
{
case SocketAsyncOperation.Connect:
bool res = e.ConnectSocket.ReceiveFromAsync(e);
break;
case SocketAsyncOperation.Send:
break;
case SocketAsyncOperation.Receive:
break;
}
}
C++代碼
ServerAddress.sin_family= AF_INET;
ServerAddress.sin_addr.s_addr= INADDR_ANY;
ServerAddress.sin_port = htons (PORT_DESKTOP);
ServerSocket = socket (PF_INET, SOCK_DGRAM, 0);
sendto (ServerSocket, Buffer, sizeof (Buffer), 0, (LPSOCKADDR) &ClientAddress, Length);
我也用創建使用IPADDRESS.Any接收message.But另一個插座,我無法從C++代碼得到響應。
在此先感謝。