我想使用XCODE Swift 3编写一个iOS应用程序来测试UDP与一般TCP / UDP终端测试程序(这是安装在另一部手机中的应用程序)的通信。考虑到所有设备都在同一个Wifi网络中,UDP终端测试程序正在侦听端口号12333,iOS应用程序将在屏幕上显示一个按钮。按下按钮后,将发送UDP广播消息。然后应该接收此消息并显示在UDP终端测试程序上。
我找到了一个描述UDP广播问题的链接,但它是用Objective-C编写的。然后我尝试使用Swift 3修改代码,我无法修改以下两行代码。
// Problem: Swift 3 doesn't have the function "htons()"
"broadcastAddr.sin_port = htons(8585)"
// Problem: cannot convert value of type "sockaddr_in" to expected argument type "sockaddr"
ret = sendto(socketSD, request, strlen(request), 0, (struct sockaddr*)&broadcastAddr, sizeof(broadcastAddr));
有人可以帮忙解决这个问题吗?或者我在测试UDP通信方面是否正确?