as3与java交互_Flash as3 通过XMLSocket与Servlet(java)交互的问题

本文探讨了一名开发者在网页游戏中遇到的问题:本地测试时Flash能接收到来自servlet的XML数据,但在域名环境下Flash接收不到。文章详细描述了问题场景,并提供了可能的解决方案及部分关键代码段。
摘要由CSDN通过智能技术生成

我们的课程项目是做一个网页游戏,现在碰到flash与后台的数据交互问题很棘手。在本地测试中,flash能够收到servlet的XML文件并输出数据,但通过域名访问的时候监听服务器已经发送了XM...

我们的课程项目是做一个网页游戏,现在碰到flash与后台的数据交互问题很棘手。在本地测试中,flash能够收到servlet的XML文件并输出数据,但通过域名访问的时候监听服务器已经发送了XML,但Flash却没有响应,应该是没有收到XML的关系。请问下这种问题该怎么解决,附代码:

Flash:

package

{

import flash.display.MovieClip;

import flash.events.*;

import flash.net.XMLSocket;

import flash.xml.XMLDocument;

//import flash.accessibility.*;

import flash.system.Security;

public class test1 extends MovieClip

{

private var socket:XMLSocket;

private var hostName:String = "localhost";//地址未填

private var port:uint = 8081;//端口号未填

public function test1()

{

// constructor code

socket = new XMLSocket();

configureListener(socket);

if (hostName && port)

{

socket.connect(hostName,port);

}

ButtonInput.addEventListener(MouseEvent.CLICK,FlashToJs);

}

private function configureListener(evt:IEventDispatcher):void

{

evt.addEventListener(Event.CLOSE, closeHandler);

evt.addEventListener(Event.CONNECT, connectHandler);

evt.addEventListener(DataEvent.DATA, dataHandler);

evt.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

//dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler);

// dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

}

private function FlashToJs(evt:MouseEvent):void

{

if (TxtInput.text == "")

{

//不做操作

}

else

{

socket.send(new XMLDocument("" + TxtInput.text + "\n"));

TxtInput.text = "";

}

}

private function closeHandler(event:Event):void

{

//TxtOutput.text = "连接断开\n";

}

private function connectHandler(event:Event):void

{

TxtOutput.text = "连接成功\n";

//socket.send("\n");

}

private function dataHandler(event:DataEvent):void

{

TxtOutput.appendText("Get!\n");

var xml:XMLDocument = new XMLDocument(event.data);

TxtOutput.appendText(xml.firstChild.firstChild.nodeValue);

}

private function ioErrorHandler(event:IOErrorEvent):void

{

TxtOutput.text = "连接失败\n";

}

// private function progressHandler(event:ProgressEvent):void {

// trace("progressHandler loaded:" + event.bytesLoaded + " total: " + event.bytesTotal);

// }

// private function securityErrorHandler(event:SecurityErrorEvent):void {

// trace("securityErrorHandler: " + event);

// }

}

}

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值