标签: gcdasyncudpsocket

无法使用GCDAsyncSocket接收发送的UDP数据包的响应

我正在制作一个应用程序来发送UDP数据包,以便打开一个LED bulb.当我连接到由Ad-hoc创建的创建时,我已经能够执行所有操作Wifi bridge.

现在,我想配置Wifi bridge它,以便它可以连接到我的主路由器.我有AT命令设置来执行此过程,但不知何故,我无法收到Wifi bridge我发送给它的命令的响应.

程序如下: -

  • 步骤1:将UDP消息发送到LAN广播IP地址"10.10.100.255"和端口48899 =>"Link_Wi-Fi"
    LAN上的所有Wifi网桥都将响应其详细信息.回复是"10.10.100.254,ACCF232483E8"

  • 步骤2 :(可选择更改wifi网桥上的设置):然后将"+ ok"发送到LimitlessLED Wifi Bridge.将UDP消息发送到从步骤1"10.10.100.254"=>"+ ok"返回的响应IP地址

  • 步骤3 :(可选择更改wifi网桥上的设置):之后,您可以向模块发送AT命令(以\ r \n结尾).

发送UDP包的代码如下

-(void)configureWifi{

    counter++;
    NSString *host = @"10.10.100.255";
    if ([host length] == 0)
    {
        [self logError:@"Address required"];
        return;
    }

    int port = 48899; //[portField.text intValue];
    if (port <= 0 || port > 65535)
    {
        [self logError:@"Valid port required"];
        return;
    }
    NSString *msg = @"Link_Wi-Fi";
    NSData …
Run Code Online (Sandbox Code Playgroud)

sockets objective-c ios gcdasyncsocket gcdasyncudpsocket

20
推荐指数
1
解决办法
2161
查看次数

Swift:使用GCDAsyncUdpSocket接收UDP

背景:

我希望能够在我的iOS应用程序和服务器之间发送和接收UDP数据包.服务器将每个传入的消息回送给应用程序的客户端.服务器已经过测试并确认正常运行.我有一个StartViewController,启动两个实现GCDAsyncUdpSocketDelegate的类,一个用于发送,一个用于接收."发送套接字"正在工作,服务器接收消息.

问题:

应用程序在发送后永远不会收到回传消息.听取套接字设置的东西可能是错误的,因为didReceiveData永远不会被调用.

我完全错了吗?

开始:

class StartViewController: UIViewController {

   var inSocket : InSocket!
   var outSocket : OutSocket!

   override func viewDidLoad() {
       super.viewDidLoad()
       inSocket = InSocket()
       outSocket = OutSocket()
   }

   @IBAction func goButton(sender: UIButton) {
       outSocket.send("This is a message!")
   }
}
Run Code Online (Sandbox Code Playgroud)

接收:

class InSocket: NSObject, GCDAsyncUdpSocketDelegate {

   let IP = "255.255.255.255"
   let PORT:UInt16 = 5556
   var socket:GCDAsyncUdpSocket!

   override init(){
       super.init()
       setupConnection()
   }

   func setupConnection(){
       var error : NSError?
       socket = GCDAsyncUdpSocket(delegate: self, delegateQueue: dispatch_get_main_queue())
       socket.bindToPort(PORT, error: &error)
       socket.enableBroadcast(true, …
Run Code Online (Sandbox Code Playgroud)

udp ios cocoaasyncsocket swift gcdasyncudpsocket

18
推荐指数
1
解决办法
2万
查看次数