【发布时间】:2017-09-26 11:56:57
【问题描述】:
我需要从适用于 Windows10 的 C# UWP 应用程序(在桌面和移动设备上运行相同的应用程序)调用 win32 套接字 API,因为 win10 sock 库存在一些问题 环境 - VS2015 更新 3。
我按照 here 的说明创建了项目结构。 所以调用如下..
C# UWP 应用程序 -> C++ WindowsRuntimeComponent -> 通用 dll(c++)(具有来自 c++ win32 dll 的代码)
在 dll 中,我只是创建一个 UDP 服务器并在 recvfrom(.....) 处等待 udp 数据包
当我在 Win 10 移动设备 (ARM) 上运行应用程序时,这可以正常工作,但在选择的架构为 x86 或 x64 时无法正常工作。当 bind() 成功时,我在 recvfrom() 中没有收到任何用于 x64/x86 的 udp 数据包。
为什么相同的代码适用于 ARM 而不适用于 x64/x86。可能是什么问题。
【问题讨论】:
-
在这些情况下,您是否有机会在同一台机器上运行代码?
-
@Sunius - 抱歉,我没有完全明白这个问题。我猜“那些情况”是指 x86/x64 ..对吗? Forx64 - 我在 VS2015 中使用 Debug+x64 + Local Machine 和 Debug+x64+Simulator 执行它。在这两种情况下,行为相同...调用 recvfrom() 后没有结果。
-
顺便说一下我的桌面显示 -> Win10 Enterprise,版本 1511,操作系统构建 10586.873,64 位操作系统 ...(但我想这对面临的问题应该没有任何不利影响)
标签: c++ dll windows-runtime uwp udp