1

我正在编写一个库,该库使用 Windows 商店应用程序使用的 UDP 套接字。

Windows 商店应用程序可以引用直接使用 Winsock 的本机库吗?

Windows 商店应用程序是否可以引用为 .Net 4.5 编写的 CLR 库,该库使用 System.Net 中的套接字。

或者我是否必须将库编写为 Windows 商店应用程序库并使用 Windows.Networking.Sockets API?

(我怀疑我知道答案只是为了确定。)

4

2 回答 2

2

Windows 商店应用程序可以引用直接使用 Winsock 的本机库吗?

不,Store 验证器将拒绝任何尝试使用 Winsock 函数的程序。

Windows 商店应用程序是否可以引用为 .Net 4.5 编写的 CLR 库,该库使用 System.Net 中的套接字。

您不能编写这样的库。选择 .NETCore 配置文件(PCL 或应用商店应用程序)会阻止使用 System.Net.Socket 类。它只是丢失了,会产生编译错误。

需要使用 WinRT Windows.Networking.Sockets.DatagramSocket 类型才能使 UDP 进入应用商店应用程序。此类型与在应用程序清单中强制执行请求的网络功能的应用商店应用沙箱兼容。

于 2013-01-15T15:17:29.620 回答
1

我做过类似的事情,但最终答案是否定的。

您基本上使用可移植类库来完成大部分工作,并抽象出任何基于套接字的工作。然后在类库和 Windows 存储类库中创建抽象的实现。

这很好用,我强烈推荐这个,但我不敢回答你的问题,你不能。

于 2013-01-15T14:55:30.653 回答