草庐IT

c# - 多点连接 : iOS and Android

coder 2023-09-22 原文

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












我们不允许提出有关书籍、工具、软件库等建议的问题。您可以编辑问题,以便可以用事实和引用来回答它。


6年前关闭。







Improve this question




我正在与一个跨平台应用程序(Android 和 iOS)的团队合作。
此应用程序旨在使用 beacons 的概念和/或 mesh networkingmultipeer-connectivity .目前,我们的团队正在使用 Xamarin 作为我们的 IDE 来创建单个代码库。
经过大量研究(显然不够重要),我只能找到以下资源..
http://altbeacon.org/
http://altbeacon.github.io/android-beacon-library
https://github.com/octoblu/meshblu
https://github.com/octoblu/MeshbluKit-iOS
https://github.com/octoblu/MeshbluKit-Android
https://github.com/CharruaLab/AltBeacon
https://blog.xamarin.com/play-find-the-monkey-with-ios-7-ibeacons/
几个问题:
AltBeacon 是否允许平台之间的通信?
是否有在 Xamarin/C# 中建立 Multipeer/Mesh 网络的内置方法?
Estimote 是否需要使用贴纸/估计信标,还是智能手机可以充当信标?
我在找什么:

  • 一种在用户没有 WiFi 或“数据”连接时在 iOS 和 Android 设备之间建立连接的方法。
  • 本质上,每个设备都将充当彼此的“信标”。
  • Xamarin/C# 是必须的(尽管如果它们令人信服,我会听到其他解决方案)
  • 这个场景:

  • Two individuals walk pass one another. Both have the app running on their phones. One individual has an iphone and the other has an android. Their apps are running in the background (their phones are in their pockets or hands and are locked.. meaning not in "use"). As the individuals walk past each other their phones detect one another and send/receive text from one another


    在此事件发生之前,用户 1 使用该应用程序保存包含以下信息的注释...

    "Water fountain working properly"


    用户 2 使用他们设备上的应用程序保存包含以下信息的注释...

    "Hand rail slightly damaged"



    在用户互相通过之后,下次他们打开他们的应用程序时,他们应该会看到一个更新的笔记阅读......

    "Water fountain working properly

    Hand rail slightly damaged"



    可能的解决方案:待定
    被拒绝的解决方案:待定
    --
    当前结论:
    当前存在诸如 FireChat、ViewRanger(我相信)或 Xamarin 示例“Find the Monkey”之类的应用程序。 Apple 在他们的商店中使用 iBeacon,而其他人则在 Android 设备上使用 AltBeacon。我得出的结论是,这肯定是可能的,但我正在寻找如何最好地执行它,同时让两个平台作为彼此的信标。

    最佳答案

    根据您对场景的描述,可以将其分解为两个简单的步骤:

  • 发现附近的设备
  • 发现时交换简单数据

  • 必需:这应该适用于 x 平台 iOS 和 Android

    我相信解决这个问题的最好方法是使用 BLE,这两个平台都支持(有些平台比其他平台好)。

    在 iOS 上,设备可以同时充当 BLE Central 和 BLE Peripheral,而在 Android 上,情况更为复杂,因为并非所有设备都支持 BLE Peripheral 状态。 Android BLE 堆栈也非常不稳定。

    如果您的用例是功能驱动的,我建议您查看可以为您实现这一目标的框架和库,而无需从头开始构建它。

    例如:
    http://www.p2pkit.io , http://www.intromi.cohttp://www.underdark.io或附近的谷歌

    关于在 Xamarin 中使用 native 代码,您可以简单地创建一个桥(绑定(bind):https://developer.xamarin.com/guides/ios/advanced_topics/binding_objective-c/)。

    免责声明:我在 Uepaa 工作,为 Android 和 iOS 开发 p2pkit.io。

    关于c# - 多点连接 : iOS and Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36366012/

    有关c# - 多点连接 : iOS and Android的更多相关文章

    1. ruby - 续集在添加关联时访问many_to_many连接表 - 2

      我正在使用Sequel构建一个愿望list系统。我有一个wishlists和itemstable和一个items_wishlists连接表(该名称是续集选择的名称)。items_wishlists表还有一个用于facebookid的额外列(因此我可以存储opengraph操作),这是一个NOTNULL列。我还有Wishlist和Item具有续集many_to_many关联的模型已建立。Wishlist类也有:selectmany_to_many关联的选项设置为select:[:items.*,:items_wishlists__facebook_action_id].有没有一种方法可以

    2. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

      我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

    3. c# - 如何在 ruby​​ 中调用 C# dll? - 2

      如何在ruby​​中调用C#dll? 最佳答案 我能想到几种可能性:为您的DLL编写(或找人编写)一个COM包装器,如果它还没有,则使用Ruby的WIN32OLE库来调用它;看看RubyCLR,其中一位作者是JohnLam,他继续在Microsoft从事IronRuby方面的工作。(估计不会再维护了,可能不支持.Net2.0以上的版本);正如其他地方已经提到的,看看使用IronRuby,如果这是您的技术选择。有一个主题是here.请注意,最后一篇文章实际上来自JohnLam(看起来像是2009年3月),他似乎很自在地断言RubyCL

    4. C# 到 Ruby sha1 base64 编码 - 2

      我正在尝试在Ruby中复制Convert.ToBase64String()行为。这是我的C#代码:varsha1=newSHA1CryptoServiceProvider();varpasswordBytes=Encoding.UTF8.GetBytes("password");varpasswordHash=sha1.ComputeHash(passwordBytes);returnConvert.ToBase64String(passwordHash);//returns"W6ph5Mm5Pz8GgiULbPgzG37mj9g="当我在Ruby中尝试同样的事情时,我得到了相同sha

    5. 基于C#实现简易绘图工具【100010177】 - 2

      C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

    6. ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么? - 2

      require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

    7. ruby-on-rails - 连接字符串时如何在 <%=%> block 内输出 html_safe? - 2

      考虑一下:现在这些情况:#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2#output:http://domain.com/?foo=1&bar=2我需要用其他字符串输出URL。我如何保证&符号不会被转义?由于我无法控制的原因,我无法发送&。求助!把我的头发拉到这里:\编辑:为了澄清,我实际上有一个像这样的数组:@images=[{:id=>"fooid",:url=>"http://

    8. ruby - Faye WebSocket,关闭处理程序被触发后重新连接到套接字 - 2

      我有一个super简单的脚本,它几乎包含了FayeWebSocketGitHub页面上用于处理关闭连接的内容:ws=Faye::WebSocket::Client.new(url,nil,:headers=>headers)ws.on:opendo|event|p[:open]#sendpingcommand#sendtestcommand#ws.send({command:'test'}.to_json)endws.on:messagedo|event|#hereistheentrypointfordatacomingfromtheserver.pJSON.parse(event.d

    9. ruby-on-rails - 什么会导致与 APNS 的连接间歇性断开连接? - 2

      我有一个ruby​​脚本可以打开与Apple推送服务器的连接并发送所有待处理的通知。我看不出任何原因,但当Apple断开我的脚本时,我遇到了管道损坏错误。我已经编写了我的脚本来适应这种情况,但我宁愿只是找出它发生的原因,这样我就可以在第一时间避免它。它不会始终根据特定通知断开连接。它不会以特定的字节传输大小断开连接。一切似乎都是零星的。您可以在单个连接上发送的数据传输或有效负载计数是否有某些限制?看到人们的解决方案始终保持一个连接打开,我认为这不是问题所在。我看到连接在3次通知后断开,我看到它在14次通知后断开。我从未见过它能超过14点。有没有人遇到过这种类型的问题?如何处理?

    10. ruby - 如何断开现有的 ruby​​ 续集与数据库的连接? - 2

      我的意思是之前建立的那个DB=Sequel.sqlite('my_blog.db')或DB=Sequel.connect('postgres://user:password@localhost/my_db')或DB=Sequel.postgres('my_db',:user=>'user',:password=>'password',:host=>'localhost')等等。Sequel::Database类没有名为“disconnect”的公共(public)实例方法,尽管它有一个“connect”。也许有人已经遇到过这个问题。我将不胜感激。 最佳答案

    随机推荐