UDP通讯,收到数据做出反应遇到麻烦

UDP通讯,收到数据做出反应遇到麻烦

奈何桥上唱咆哮 发布于 2021-11-24 字数 1525 浏览 852 回复 2

 - (BOOL)onUdpSocket:(AsyncUdpSocket *)sock


     didReceiveData:(NSData *)data


            withTag:(long)tag


           fromHost:(NSString *)host


               port:(UInt16)port{


    NSLog(@"received data");


    char *d = [data bytes];


    if(d[0] == 0x55fc)


    {


        [_zanting setBackgroundImage:[UIImage imageNamed:@"Pause.png"] forState:UIControlStateNormal];


    }


    else if(d[0] == 0x66fc)


    {


        [_zanting setBackgroundImage:[UIImage imageNamed:@"Play.png"] forState:UIControlStateNormal];


    }


    


    [udpSocket receiveWithTimeout:-1 tag:0];


    return YES;

}

上面这个代码是收到2个不同的16进制数据  变换2张不同的图片,但是有问题! 请高手帮我分析下

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柳若烟 2021-11-29 2 楼

解决了,谢谢

泛滥成性 2021-11-27 1 楼

不知道这是什么语言,但是char *d = [data bytes];是不是表明d[0]是一个char型的? char型大小应该是1字节,那么怎么可以拿来跟两字节大小的常量0x55fc比较呢