gpt4 book ai didi

ios - 发送数据包给客户端

转载 作者:行者123 更新时间:2023-11-29 00:19:29 25 4
gpt4 key购买 nike

我需要发送包含 JSON 字符串的 NSData 以及(实际字符串的长度 + 实际字符串的长度)形式的总长度。我需要发送一个数据包,为字符串的长度保留前 10 个字节,然后是按字符串

在发送 NSData 对象时,我还需要发送前 10 个字节的长度,然后发送如下数据:

数据长度+JSON字符串=发送到java客户端的总数据。

进一步的java客户端将读取前10个字节以了解数据的实际长度,以形成字节数组并进一步移动。

最佳答案

这个暴力破解示例使用前 10 个字符作为有效载荷长度的字符串表示,后跟实际有效载荷。

NSArray *arrPayload = @[@"Hello", @"world"];

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:arrPayload
options:0
error:nil];

NSString *jsonString = [[NSString alloc] initWithData:jsonData
encoding:NSUTF8StringEncoding];

NSString *comboString = [NSString stringWithFormat:@"%010lu%@",
(unsigned long)jsonString.length, jsonString];

NSLog(@"%@", comboString);

NSData* combinedData = [comboString dataUsingEncoding:NSUTF8StringEncoding];

结果:

0000000017["Hello","world"]

但是:如果这应该作为 HTTP 请求发送,您可能需要考虑使用 Content-Length header 来传递长度信息。

关于ios - 发送数据包给客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44430689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com