开发环境:

FMX

Delphi 11.2 试用版

IOS 15.0.2(iPhone 13 Pro Max)

Android 10 手机(主要用来测试)

局域网(wifi环境)

在 IOS 中使用UDP,如果使用苹果的Bonjour (也就是 mDNS) 就要在苹果开发者后台申请权限。我们如果不使用 Bonjour,而直接使用Delphi 中 Indy 组件,就不需要申请权限,也能够发送和接收。特此记录下我的开发过程,以帮助有需要的朋友。

UDP 使用 Indy 的控件 TIdUDPServer 和 TIdUDPClient。

测试程序分为两大部分,一部分是 UDPServer,用来接收UDP消息,一部分是UDPClient,用来广播或者定向发送消息。

程序界面如下:

按下:【打开 UDPServer】就会打开UDP服务,默认端口号:8192。正常情况下,打开UDP服务都会成功,而且通过其他手机或者电脑给打开UDP服务的手机发送消息,或者广播消息,IOS手机是可以成功收到消息的,系统没有任何权限方面信息提示。

首次运行按下【发送】或者【广播】按键时,系统提示权限请求,要求用户确认。

如果选择 不允许 ,那么以后这个程序再也无法发送UDP消息(但不影响接收),如果选择 好 ,那么后续程序就可以 发送 或者 广播 UDP消息了。

特别说明:

  1. IOS 手机接收其他设备的定向发送UDP消息时,能正确的收到一条信息(IPv4),如果其他设备使用的是广播消息,则IOS手机会收到两条UDP消息,一条是IPv4的,一条是IPv6的。
  2. 如果在某种情况下(目前未找到原因),手机并没有弹出授权框,此时只能卸载程序,重新安装,或者在程序界面上放置一个 WebBrowser 控件,随便访问下一个网址,系统就一定会弹出授权框。
  3. 通过网络授权的程序,会出现在【设置】中,同时可以看到(如果授权未通过,则可能在【设置】中都看不到程序):

由于IOS需要上架,座椅这里提供程序源代码和Android编译好的程序下载:

1. Android APK 程序

2. 源程序

【Delphi】IOS 15 UDP 广播消息(局域网)相关推荐

  1. C# 实现udp广播收集局域网类所有设备信息

    一个简单好理解的例子,复制过去就能用,能看到效果 首先对功能的思考,他怎么去实现 1.制定udp广播的端口(如果收发用同一个端口就会一直接收到自己给自己广播的消息) 2.启动后向局域网广播约定的字符串 ...

  2. 基于UDP广播的局域网聊天工具

     最近项目在做一个基于UDP模式的通信程序,考虑到项目的需求有一对多的需要,所以采用socket UDP广播模式进行数据通信.网上了解了一下知道这种模式也是目前QQ采用的方式,于是为了更好的理解s ...

  3. Linux下使用RAW SOCKET原始套接字构造UDP原始数据帧广播到局域网,在局域网的另一台计算机上显示UDP发送的信息

    因为使用IEC61850需要直接访问以太网数据链路层,因此需要做一些访问数据链路层的准备工作.计划使用Linux C构造UDP原始帧在局域网内广播消息,并在另一台电脑上使用QT程序接收和显示这个广播消 ...

  4. Qt | UDP广播通信的使用、实战项目使用案例

    Qt | UDP广播通信的使用.实战项目使用案例 1.UDP广播介绍 UDP广播地址固定IP地址为:XXX.XXX.XXX.255. 如果向全网段发送广播消息,那么广播地址为:255.255.255. ...

  5. asp毕业设计——基于Delphi+udp+UDP的基于局域网的信息收发系统设计与实现(毕业论文+程序源码)——信息收发系统

    基于Delphi+udp+UDP的基于局域网的信息收发系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Delphi+udp+UDP的基于局域网的信息收发系统设计与实现,文章末尾附有本毕 ...

  6. Udp广播的发送和接收(iOS + AsyncUdpSocket)下篇

    接上篇C#的Udp广播的发送和接收 http://www.cnblogs.com/JimmyBright/p/4637090.html ios中使用AsyncUdpSocket处理Udp的消息非常方便 ...

  7. UDP 通讯协议 局域网通信发送消息 简单实现

    发送端 import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; imp ...

  8. 微课--Python使用UDP协议实现局域网内屏幕广播(40分钟)

    师资培训研修班通知--Python数据采集.分析与可视化实战 开学第一课:一定不要这样问老师Python问题 在线开放课程"Python程序设计基础"第7次开课通知 智慧树大学共享 ...

  9. Android 通过局域网udp广播自动建立socket连接

    Android开发中经常会用到socket通讯.由于项目需要,最近研究了一下这方面的知识. 需求是想通过wifi实现android移动设备和android平台的电视之间的文件传输与控制. 毫无疑问这中 ...

最新文章

  1. Django博客系统(用户中心修改)
  2. C++ 方块游戏小更新
  3. QDoc包括代码内联includecodeinline
  4. Hadoop权威指南 _04_第I部分Hadoop基础知识_第2章关于MapReduce
  5. c#写字板实现加粗功能_Windows 7中写字板和绘画中的新功能
  6. JVM入门到放弃之基本概念
  7. [Topic]Advanced Run Time Type Identification in C++
  8. OSPF虚链路技术原理与注意点
  9. Search in Rotated Sorted Array II leetcode java
  10. php x不能转移,[PHP] 从 PHP 5.3.X 迁移到 PHP 5.6.X不兼容点
  11. mysql5.7 bulk insert_Bulk Insert 高效快速插入数据
  12. 11中常见的句法成分
  13. 电脑通话有回音解决方案 使用电脑通话时有回音(可以听到对方电脑中自己说话的声音)电脑通话回音解决方案【以Thinkpad Win10系统为例】
  14. JavaScript面试题汇总
  15. Android---ADB工具连接真实手机(有线连接与无线连接)
  16. Verify the connector‘s configuration, identify and stop any process that‘s listening on port 80, or
  17. 高考状元、奥赛金牌,清华姚班00后新生来了
  18. Web3中文|NFT如何促进教育的发展?
  19. 全方位解析 pinia
  20. CSMAR中国上市公司股权性质文件(2013-2017年)

热门文章

  1. 万字长文让您搞懂云原生!
  2. 分布式ssh_使用SSH的分布式管理
  3. 为艺术而生的惊艳算法
  4. pca图解读_PCA 图像识别 详解(一)
  5. 光敏电阻5506主要参数_光敏电阻器的主要参数
  6. [网络安全课程实验]:PGP加密解密
  7. 使用libjpeg处理图像(libjpeg的使用压缩与解压缩jpg格式)
  8. 为什么 K8s 在阿里能成功(转)
  9. 一份私人alias清单
  10. SS-Model【3】:DeepLabv2