iOS - 使用GCDAsyncSocket向服务器发送内容有一些错误

时间:2015-05-08 13:33:18

标签: ios swift gcdasyncsocket

我有两个客户端,一个是iOS(客户端A),另一个是Jave(客户端B),客户端A用于发送者,客户端B是从客户端A接收数据并在控制台中打印,现在我发送一些String(String和JsonString)到客户端B,客户端B可以接收客户端A的消息,但控制台打印不完整

这是我的步骤

1,我在iOS中定义了一个NSDictionary

let dict:NSDictionary = ["type":type,"x":point.x,"y":point.y]

2,将它修改为json字符串并在json String

中附加一些字符串
var error:NSError?
let data = NSJSONSerialization.dataWithJSONObject(dict,options:NSJSONWritingOptions.PrettyPrinted, error: &error)
var str = NSString(data: data!, encoding: NSUTF8StringEncoding)
var newStr = return "\(toPort)#\(str!)"

然后我在iOS控制台中打印它,它工作正常

3,我将字符串转换为NSData

let data = newStr.dataUsingEncoding(NSUTF8StringEncoding)

4,将NSData发送到服务器

self.socket!.writeData(data!, withTimeout: self.timeout, tag: 0)

5,客户端B中只显示{,会发生什么?

然后我尝试使用jave来实现客户端A,它在客户端B中运行良好

1 个答案:

答案 0 :(得分:0)

我解决了它

1,删除\n

中的所有str

2,使用

var newStr = return "\(toPort)#\(str!)\n"

var newStr = return "\(toPort)#\(str!)"