我需要从Windows10的C#UWP应用程序调用win32 socket apis(在桌面和移动设备上运行相同的应用程序)因为win10 sock库有一些问题环境 - VS2015 Update 3 .
我创建的项目结构为explaind here . 所以呼叫如下..
C#UWP app - > C WindowsRuntimeComponent - > Universal dll(c)(来自c win32 dll的代码)
在DLL中我只是创建一个UDP服务器并在recvfrom等待udp数据包(.....)
这在我在Win 10移动设备(ARM)上运行应用程序时工作正常,但在选择的体系结构是x86或x64时不起作用 . 当bind()成功时,我不会在recvfrom()中重新获取任何udp数据包forx64 / x86 .
相同的代码如何适用于ARM而不适用于x64 / x86 . 可能是什么问题 .
2 回答
如果套接字的两端都在同一台计算机上,则Windows应用商店应用程序无法侦听套接字或从UDP连接接收数据 . 在不同的计算机上运行服务器和应用程序 .
等待安装在clinet机器上的安全补丁(Win 7 OS)是服务器在recvfrom()调用中等待的原因...
安装补丁并重新启动系统后,它运行正常 .