博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS socket通信,编解码,浮点型数据解析
阅读量:6576 次
发布时间:2019-06-24

本文共 1589 字,大约阅读时间需要 5 分钟。

最近做了一份简单的socket项目,因为遇到了一些问题,我在cocochina发帖问了好多人,好多好心人帮助了我,虽然问题没有解决但还是十分感谢他们,后来遇到了群主,群主帮我解决了这个问题,我觉得我有必要写篇文章来总结下,下面废话不多说啦!

首先是socket的通信问题,这个链接比较简单,只需要你连接的端口号和ip地址,我在上篇文章内有介绍,大家可以看下。

1,编码问题

下面介绍socket传输通信,如将所需要的数据全部转成一个nsmutabledata,在传输时,直接传输这个data数据即刻(data就是一个二进制流数据,网络传输都是用这个的)

主要通过传输这个cmddata来传输我需要的数据

然后是数据转换类型与方法

1,字符串拼接

NSString *newString = [NSString stringWithFormat:@"%@%@",tempA,tempB];

2,字符转int

int intString = [newString intValue];

3,int转字符

NSString *stringInt = [NSString stringWithFormat:@"%d",intString];

4,字符转float

float floatString = [newString floatValue];

5,float转字符

NSString *stringFloat = [NSString stringWithFormat:@"%f",intString];6. NSString

6.NSString转化为 char *

NSString * str= @“Test”;

const char * a =[str UTF8String];

7.char * 转化为 NSString

NSString *str=[NSString stringWithCStringencoding:NSUTF8StringEncoding];

8.int --> NSData

int someInt = 1;

NSString *aString = [NSString stringWithFormat:@"%d",someInt];

NSData *someData = [aString dataUsingEncoding:NSUTF8StringEncoding];

[someData writeToFile:[documentsDirectory stringByAppendingString:@"someFile"] atomically:YES];

9.NSData --> int

NSData* someData = [NSData dataWithContentsOfFile:[documentsDirectory stringByAppendingString:@"someFile"];

NSString *aString = [NSString alloc] initWithData:someData encoding:NSUTF8StringEncoding];

int someInt = [aString intValue];

2,接收数据解码

返回得到的是一个data数据,根据返回的类型与数据大小的匹配,我们就能够解码,并且得到我们所需要的数据。

解码的信息就是将data数据转成我们所需要的数据类型,但是其中的浮点型数据转换就需要思考下了(作者在这里卡了n久,蛋疼无比,最终得到别人的帮助,成功的解决了)

这样做就能把double类型的数据给解析出来了,用了c的方法,而float只需要用32位的方法就可以了

这就是使用socket通信以及编解码的信息,我的心得与体会与大家分享,喜欢的麻烦点个赞谢谢

转载地址:http://esfno.baihongyu.com/

你可能感兴趣的文章
使用模板将Web服务的结果转换为标记语言
查看>>
inno setup 打包脚本学习
查看>>
php 并发控制中的独占锁
查看>>
[Leetcode] Factor Combinations 因数组合
查看>>
APM终端用户体验监控分析(下)
查看>>
React Native 0.20官方入门教程
查看>>
JSON for Modern C++ 3.6.0 发布
查看>>
Tomcat9.0部署iot.war(环境mysql8.0,centos7.2)
查看>>
我的友情链接
查看>>
监听在微信中打开页面时的自带返回按钮事件
查看>>
第一个php页面
查看>>
世界各国EMC认证大全
查看>>
最优化问题中黄金分割法的代码
查看>>
在JS中使用Ajax
查看>>
Jolt大奖获奖图书
查看>>
android中webview空间通过Img 标签显示sd卡中 的图片
查看>>
url 的正则表达式:path-to-regexp
查看>>
ubuntu 16.04 安装PhpMyAdmin
查看>>
安卓开启多个服务
查看>>
设置分录行按钮监听事件
查看>>