正如我在XMLSocket中看到的那样,数据可以完全读取到最后,另一方面,Socket类按部分读取数据,所以长字符串将由部分连接起来,我想知道是否可以使用Socket类,并且仍然读取完整的数据,直到结束包
private function readResponse():void {
var str:String = readUTFBytes(bytesAvailable);
response += str;
trace2(response);
}
private function socketDataHandler(event:ProgressEvent):void {
trace2("socketDataHandler: " + event);
readResponse();
}因此,正如我在文档中看到的,唯一的数据处理程序是ProgressEvent,但是如何处理数据来获得完整的字符串,而不是按部分?我不想使用XMLSocket,有什么方法吗?
发布于 2013-11-23 21:16:38
XMLSocket读取内部缓冲区中的数据,当接收到终止空字节时,它将解析自前一个零字节以来接收的所有XML,或者,如果这是自建立连接以来接收的第一条消息,则解析所有接收的XML。您需要包装套接字对象,将消息读取到内部缓冲区,并在需要时触发事件。
https://stackoverflow.com/questions/18427996
复制相似问题