socket iOS 与java 后台进行socket通讯遇到的问题以及解决方法

本文介绍了一项智能家居项目中遇到的iOS与Java通过Socket通讯的问题。主要问题在于发送JSON字符串时,由于字节流编码设置不当导致后台无法接收数据。文章详细描述了如何从NSUTF8StringEncoding更改为NSISOLatin1StringEncoding来解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在搞 一个智能家居项目,需要用到ios与 java 的 socket的通讯

在网上找到了十几分代码,关于通讯的写法大同小异,都是通过acsySocket 或者GCDsocket 这两个类库进行通讯的,具体用法其实很简单,及时先连接,然后调用代理方法进行接受数据,以及发送数据。

但是在实际操作中,后台要的数据是json字符串,但是无论我怎么给后台发送数据,后台总是接受不到我的数据,这样折腾了一个多多月,同于发想了后台接受不到数据的原因 ,原来是字节流  的问题 ,

 NSString *longConnect =[NSStringstringWithFormat:@"{\"clientId\":\"%@\",\"userId\":\"%@\"}",str1,USER_ID];

        NSString *content = [longConnectstringByAppendingString:@"\r\n"];

        NSLog(@"发送clientIDuserId---%@",content);

        NSData *data = [contentdataUsingEncoding:NSISOLatin1StringEncoding]

 问题就在之前编码的asd

NSUTF8StringEncoding

NSUTF8StringEncoding

NSUTF8StringEncodingNSUTF8StringEncoding   变为 :NSISOLatin1StringEncoding  即可完成通讯 即可发送数据以及接受数据sadasasdas 之


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值