【问题标题】:Best way to include Socket MvvmCross with PCL在 PCL 中包含 Socket MvvmCross 的最佳方式
【发布时间】:2013-03-22 03:01:19
【问题描述】:

首先,我要感谢你(Stuart 特别)为这个令人惊叹的框架 MvvmCross。

我有一个涉及套接字连接的应用案例,我想使用适用于 Android、WP7 和 iO 的 PCL。

不幸的是,PCL 子集不支持按原样使用套接字(我认为 NCL 仅支持 Microsoft 不同的框架)。

我认为 MvvmCross 插件可能是要走的路,但仍然需要每个平台的插件实现(我的意思是 ...plugin.Droid、..plugin.WP7 等),而它应该是相同的代码结束。

你有什么建议?

谢谢

【问题讨论】:

    标签: xamarin.ios windows-runtime xamarin.android windows-phone mvvmcross


    【解决方案1】:

    我认为可能是 MvvmCross 插件是要走的路

    是的,这正是插件设计的那种情况。

    我当然会把它作为一个套接字插件来实现:

    • 插件的 PCL 部分将提供一个套接字接口,尽管它也可能在共享代码中包含一些共享基类“缓冲区复制”类型的功能。

    • 处理原始套接字连接和 IO 的平台特定套接字实现。

      这些平台插件的添加很可能会在几个平台实现之间使用大量文件链接 - 我希望有很多代码必须以这种方式共享。

    我认为套接字插件将是一个相当普遍的要求 - 因此,如果您要通过开源解决这个问题,那么您可能会找到一些愿意的贡献者......或者,如果您要使用封闭源代码,那么您可能会发现一些客户。


    虽然现阶段没有人开源 IP 网络套接字 实现,但 Sphero 项目确实包含了一个 蓝牙套接字 示例 - 尽管不是通信方式完全网络高效。

    此蓝牙套接字代码在 Ms-PL 中开源,地址为 https://github.com/slodge/BallControl/tree/master/Cirrious.Sphero.WorkBench/Plugins/Sphero

    此 Sphero 插件不公开 PCL Sphero-Socket 级 API,而是在插件级公开Sphero-Robot 级 API。 p>

    事后看来(一件美妙的事情),如果我再次实施这个,那么我会实施:

    • 一个蓝牙串口插件公开蓝牙扫描、连接和套接字流
    • 一个额外的 PCL 库,它使用插件来驱动机器人 - 这可能被称为插件,但其中没有任何非 PCL 代码。

    【讨论】:

    • 感谢您快速而良好的回答。继续这份好工作!
    • 谢谢。如果有帮助,请将其标记为已接受 - 或者,如果您需要更多,请询问:)
    猜你喜欢
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-12
    • 2011-06-18
    • 2023-03-11
    相关资源
    最近更新 更多