至于TCP通信,网上已经有很多整理得很清晰的博客了,这里不再赘述,就UDP简单说一说。
其实很多时候,一个项目的实现过程,就是在最简单的方法上 一步一步地增加、完善它的功能。
类似于文件操作:
fd = open("文件名")
read(fd, buf, len);
write(fd, buf, len);
socket传输,用Byte可以,也可以用字符指针(C)
NSString *str = @"hello world!";
NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
Byte *testByte = (Byte *)[data bytes]; // NSData转Byte
NSLog(@"----------- %s ------------", testByte);
long sendRet = send(connectfd, testByte, 100, 0);
- Byte数组-> NSData
- Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};
- NSData *adata = [[NSData alloc] initWithBytes:byte length:24];
// memcpy(dest, src, n)
// 从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
NSData是数据,存储的是二进制(二进制十六进制一样的)数据,当我们需要把一些信息写入到文件里或发送到网络上,我们需要把这些数据转换下,变成纯粹的0、1字符流
也就是网络中要传数据的的时候,我们通常会用相应的NSData的数据来进行存储。