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

iOS - Use GCDAsyncSocket to send something to server have some error

我有两个客户端,一个是iOS(客户端A),另一个是Jave(客户端B),客户端A用于发件人,客户端B从客户端A接收数据并将其打印在控制台,现在我向客户端 B 发送一些字符串(字符串和 JsonString),客户端 B 可以从客户端 A 接收消息,但控制台打印不完整

这是我的步骤

1、我在iOS

中定义了一个NSDictionary
let dict:NSDictionary = ["type":type,"x":point.x,"y":point.y]

2、将其转换为json字符串并在json字符串

中追加一些字符串
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、删除str

中的所有\n

2、使用

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

代表

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