WindowsPhone7中的设备发现我无法检测到网络上存在的设备。我正在使用两个应用程序。一个是用C++编写的,另一个是WindowsPhone7应用程序。从Wp7我正在发送UDP广播,我在HowtobroadcastUDPpacketsonWP7Mango?我能够从wp7广播消息并在C++应用程序中接收。但我无法从C++代码接收UDP数据包。这是我的代码。C#代码privatevoidPageTitle_Tap(objectsender,GestureEventArgse){varipAddress=IPAddress.Parse("255.255.255.255");varendpoint=newIPEndPoint(ipAddress,4998);byte[]data=Encoding.UTF8.GetBytes("你好|4998");varargs=newSocketAsyncEventArgs();args.RemoteEndPoint=端点;args.SetBuffer(data,0,data.Length);args.Completed+=newEventHandler(args_Completed);socket=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);布尔结果=socket.ConnectAsync(args);}voidargs_Completed(objectsender,SocketAsyncEventArgse){if(e.SocketError!=SocketError.Success){返回;}switch(e.LastOperation){caseSocketAsyncOperation.Connect:boolres=e.ConnectSocket.ReceiveFromAsync(e);休息;案例SocketAsyncOperation.Send:中断;案例SocketAsyncOperation.Receive:中断;}}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创建了另一个套接字来接收消息,但我无法从C++代码接收响应。提前致谢。您错过了启用SO_BROADCAST的机会吗?SOL_SOCKET套接字选项:SO_BROADCAST是是DWORD(布尔值)配置用于发送广播数据的套接字。此选项仅对支持广播的协议(例如IPX和UDP)有效。以上就是《C#学习教程:WindowsPhone7中的设备发现》的全部内容,如果对您有所帮助,您需要进一步了解C#学习教程,希望您多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
