是否可以通过互联网在两个移动设备 (iPhone) 之间连接套接字?

2024-04-26

是否可以通过互联网在两个移动设备 (iPhone) 之间连接套接字?

我正在尝试发现每个设备的IP并直接连接。我知道可以使用 Bonjour 来完成,但这只适用于本地网络。我需要通过互联网在两个设备之间建立高速连接。

Thanks.


如果你有两个 IP 并且它们都是可路由的,那么这应该是可能的。我不确定 3G 网络给出的 IP 是否可路由。如果您使用 WIFI,您获得的 IP 几乎肯定是不可路由的。假设你有一个可路由的 IP,那么这应该是可能的。

诀窍就是发现其他设备的 IP。最好的方法可能是让每个设备在应用程序启动时向 Web 服务注册其 IP,然后查询该服务以查找其他设备的 IP。

当应用程序关闭或 IP 更改时,管理“取消注册”IP 可能会有点棘手,但它应该是可行的。

ETA:

如果您有一个它们都可以连接的服务器,您应该能够使用该服务器实施解决方案(即,电话实际上不需要直接相互连接)。这将避免电话具有可路由 IP 的问题。

至于如何将套接字桥接在一起 - 您的服务器程序基本上就像老式电话总机操作员一样工作。您将在服务器软件中内置某种注册和发现协议,该协议允许手机向服务器注册,查询当前连接到服务器的其他手机的列表,指示它想要与哪部手机通话,并接受来自其他手机的连接。

一旦知道谁想与谁通话,您的服务器软件就会通过从一部手机的套接字读取数据并将数据写入另一部手机的套接字来将两者连接在一起。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以通过互联网在两个移动设备 (iPhone) 之间连接套接字? 的相关文章

  • Xcode:为不同的构建配置设置GCC_PREPROCESSOR_DEFINITIONS?

    我想设置GCC PREPROCESSOR DEFINITIONS对于我的四个构建配置 调试 发布 临时和分发 中的每一个 我希望每个都有不同的设置 我正在查看的屏幕是 目标信息 窗口的 构建 选项卡 当我将配置弹出窗口设置为 调试 时 我可
  • 如何使用 Google Direction api 或 iPhone 应用程序的其他一些 api 比较两条路线

    我想比较两条路线以检查它们在我的 iPhone 应用程序中是否相同 有一个人X想要从A点到B点 另一个人想要从A1点到B1点 我可以使用谷歌的方向 API 获取 A 到 B 之间的路线 http maps googleapis com ma
  • 如果在 addSubView 之后调用,UIButton 不会移动

    所以我想移动一个UIButton单击后 The addMoreFields单击按钮后调用该方法 addMoreFieldBtn是一个全球性的UIButton 当我点击它时什么也没有发生 奇怪的是 如果我注释掉addSubView代码然后按钮
  • 元视口标签似乎被完全忽略或没有效果

    我把这个标签放在了头部一个网页 http www belovedobjects de 由于某种原因 它在我的 iPhone 上似乎被忽略了 甚至添加了user scalable no没有影响 我尝试了许多宽度 初始比例等值 似乎没有任何效果
  • 如何解除阻塞在 ServerSocket.accept() 上的线程?

    我有一个带有以下代码的服务器线程 public void run try ServerSocket server EneaLog printLog Server is running server new ServerSocket this
  • UIWebview 中的 NSString

    我有一个NSString和我的项目中的 webView iPhone 的 Objective C 我称之为index html在 webView 及其内部我插入了我的脚本 javascript 如何在脚本中将 NSString 作为 var
  • 如何在iPhone SDK中使用标签栏控制器设置视图出口

    我在 Xcode 中创建了一个简单的选项卡栏应用程序 默认选项卡栏有 2 个选项卡栏项目 我添加了第三个选项卡栏项目 并将其视图控制器属性设置为我创建并随后保存的名为 ThirdView xib 的视图 当我尝试运行时 前两个默认选项卡工作
  • 如何在ios中重置触摸、触摸移动的NSTimer

    我正在开发一个应用程序 其中我必须在 3 秒后隐藏控制按钮 所以我使用 NSTimer 编写代码 然后开始触摸 它可以工作 但问题是 当我再次触摸任何其他按钮时 我的计时器不会重置 即使我像拖动一样移动我的触摸示例 如果我拖动或移动触摸 它
  • Socket.IO 消息不更新 Angular 变量

    我有一个 socket io 客户端 服务器设置 并在客户端上运行 AngularJS Server js var io require socket io server io on connection function socket s
  • 检测 UITextField 的焦点变化

    我正在尝试设置当键盘隐藏并出现在文本字段中时视图向上移动的动画 并且它工作得很好 但是当焦点从一个文本字段移动到另一个文本字段时 它不起作用因为键盘已经显示了 在 viewDidLoad 中 我注册了以下内容 NSNotificationC
  • iPhone 4 移动网络应用程序像素缩放问题

    我无法让我的移动 Web 应用程序在 iPhone 4 上正确呈现 根据 Wikipedia iPhone 4 的像素为 960 宽 x 680 高度 而其他 iPhone 的像素为 480 宽 x 340 像素 在我当前的构建中 图像和
  • 是否可以仅使用密码进行身份验证,即使设备在 ios、swift 中具有 touch id 功能

    我要认证only使用PassCode甚至设备有Touch ID特征 我在用着 deviceOwnerAuthentication评估政策方法 当我使用这个时 如果用户已注册触摸 ID gt 始终要求提供触摸 ID 如果用户尚未注册 touc
  • 支持从右到左的纯布局

    iOS纯布局支持从右到左的语言吗 我们如何在阿拉伯语言的代码中实现它 而不需要去设置并选择区域和格式语言 Thanks 您可以通过在 Xcode gt 编辑方案 gt 运行 gt 选项 选项卡 gt 应用程序语言 gt 从右到左伪语言中选择
  • UIPageControl 未显示

    我使用以下内容来显示滚动视图和页面控制 scrollView UIScrollView alloc initWithFrame CGRectMake 0 0 320 179 pageControl UIPageControl alloc i
  • 如何在自定义按钮单击时通过@selector传递数据?

    我正在通过代码制作一个按钮 我有以下代码行来在单击按钮时触发方法 imagesButton addTarget self action selector photoClicked forControlEvents UIControlEven
  • 如何使用 Codable 解析此 JSON?

    我一直在尝试从我的中解析这个对象JSON并不断收到此错误 错误 类型不匹配 Swift Array Swift DecodingError Context codingPath debugDescription 本应解码数组 但找到了字典
  • iPhone NSDateFormatter 时区转换

    我正在尝试创建一个格式化程序 将显示的日期格式转换为 NSDate 对象 NSString dateStr 2010 06 21T19 00 00 05 00 NSDateFormatter dateFormat NSDateFormatt
  • Xcode 4 自动完成错误

    您是否还面临 Xcode 4 自动完成功能的问题 该功能过去在 3 x x 版本上运行良好 我已经在 Prefix 中导入了一些类 但 Xcode 不想帮助我输入代码 我必须手动添加上面的 implementation 导入 myclass
  • UISlider最大值调整

    我有三个滑块 这些显示了我需要的不同元素的百分比 所有元素的最大值是 100 a b c 100 现在这些都相互依赖并有助于制作饼图 目前都可以设置为最大值 100 如何从逻辑上使这种依赖性和最大值成为可能 提前致谢 在处理滑块更改的方法中
  • 为什么Android和IOS11无法通过NFC通信

    目前正在使用 React Native 并尝试使用反应本机 NFC ios https www npmjs com package react native nfc ios and 反应本机 NFC https github com Nov

随机推荐