连接 iPhone、Android 和 .net 桌面应用程序的直接连接 P2P 库

3
目前,我的用户通过异步TCP连接从手机连接到他们的计算机,但这需要他们打开特定端口并知道自己的IP地址。然后就有了动态IP地址的问题,这一切变得太复杂了。
我希望他们不必再处理这些问题。经过一番搜索,我意识到我真正需要的是两者之间的直接连接点对点连接。
我想实现这个功能,但我需要什么?运行在用户计算机上的服务器是.NET,客户端运行Android和iPhone。

你在问题中使用了“p2p”这个短语,但并没有真正描述你的意思。你能澄清一下吗?我知道它代表“点对点”,但你实际上指的是什么? - occulus
基本上,直接连接点对点(p2p)是指一个或多个客户端与具有开放端口的公共可用第三方进行通信。NAT后面的客户端只能从他们发出的服务器/端口接收传入连接,除非他们当然有分配给他们的开放端口。在直接连接p2p的情况下,第三方接受您尝试连接的两个客户端的连接,并将数据转发到每个客户端。因此,现在NAT后面的客户端知道原始传出连接打开的服务器和端口,它们可以直接通信。 - user654818
你的意思是这个:http://en.wikipedia.org/wiki/Direct_Connect_%28file_sharing%29 我会把这个链接加到你的问题里,这样会更清晰明了。 - occulus
我认为这会让问题变得有些混乱,因为那不是我想要做的事情。那个链接谈到了文件共享和点对点,而我只是想将隐藏在NAT后面的客户端连接到彼此,而不需要用户在防火墙上打开端口。如果一个人在阅读这个问题时不知道什么是直接的点对点连接,并且他们需要一个链接来理解它,那么他们究竟有资格回答我的问题呢? - user654818
2个回答

1
作为其中一个选择,您可以查看我们的MsgConnect产品。它可以让您轻松地在各种平台之间交换消息,包括iPhone、基于Java的系统和.NET。

1
你知道在这里回答大量问题只用“购买我们的产品”而没有其他内容可能被视为垃圾邮件,对吗? - Ken White

0

动态IP寻址不必那么麻烦--您可以使用诸如http://www.dyndns.com/的服务,将给定的网络名称映射到实际的IP地址,该地址可以是动态的。

至于不打开用户的防火墙--如果不了解您的软件/问题的性质,很难说。但是,如果您想要从手机直接连接到用户的家庭计算机,而没有任何第三方设备/服务参与,那么您别无选择,只能接受计算机必须能够接受传入连接的事实。

如果您接受通信中存在第三方的可能性,这可能会提供一些可能性,具体取决于您的软件所做的事情。但它也增加了很多复杂性。


我确实想要与第三方设备建立直接连接。这就是我想要设置的内容,我具体询问的是我需要什么,在服务器上需要什么以及iOS、Android和C#可用的库,以便我可以促进此过程。 - user654818
好的,我明白了。从你的问题中并没有很清楚地表达出来。根据你对“direct connect”没有使用大写字母的描述,我无法确定你是指一个直接连接,还是某种特定的协议。建议你编辑一下问题,使其更加清晰,并给它一个更好的标题,比如“用于连接iPhone/Android/.net桌面应用程序的直连P2P库”。 - occulus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接