首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在as3中读取XMLSocket中的数据?

如何在as3中读取XMLSocket中的数据?
EN

Stack Overflow用户
提问于 2011-05-24 15:10:55
回答 2查看 4.2K关注 0票数 3

使用套接字时,我可以将数据读取为

代码语言:javascript
复制
while (socket.bytesAvailable) 
{
    textArea.text += socket.readUTFBytes(socket.bytesAvailable);
}

如何在使用XMLSocket时读取数据?使用xmlSocket.toString()就足够了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-24 15:28:23

不,使用XMLSocket接收数据是事件驱动的,您可以创建一个套接字,设置事件处理程序:

代码语言:javascript
复制
socket = new XMLSocket();   
socket.addEventListener(Event.CLOSE, closeHandler, false, 0, true);
socket.addEventListener(Event.CONNECT, connectHandler, false, 0, true);
socket.addEventListener(DataEvent.DATA, dataHandler, false, 0, true);
socket.addEventListener(IOErrorEvent.IO_ERROR, errorHandler, false, 0, true);
socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityHandler, false, 0, true);    

socket.connect(host, port);

您将收到dataHandler格式的数据:

代码语言:javascript
复制
private function dataHandler(e: DataEvent): void {  
   var xml: XML = XML(e.data);
   ...
}

现在,您可以使用所需的任何方法处理XML。发送比较容易,但你仍然要考虑到在调用connect之后你并没有立即连接,你必须等到connectHandler被调用后才能发送数据:

代码语言:javascript
复制
var xml: XML = ...
if (socket.connected) {
  socket.send(xml);
}
票数 4
EN

Stack Overflow用户

发布于 2011-05-24 15:27:57

代码语言:javascript
复制
socket.addEventListener(DataEvent.DATA, onData);

private function onData(event:DataEvent):void {
    trace(event.data);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6106935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档