Apache flex flex4套接字问题
我正在尝试将我的flash应用程序与服务器通信。问题是我的代码在FlashProfessional上运行,但我已经在使用Flex4-SDK的FlashBuilder上准备好了所有接口。我的代码在Flex项目上不起作用 问题不在于安全文件。我解决不了这个问题。可能的原因是什么 亲切的问候 如有必要,我的代码如下[使用FlashPro,但不使用Flex!]Apache flex flex4套接字问题,apache-flex,sockets,Apache Flex,Sockets,我正在尝试将我的flash应用程序与服务器通信。问题是我的代码在FlashProfessional上运行,但我已经在使用Flex4-SDK的FlashBuilder上准备好了所有接口。我的代码在Flex项目上不起作用 问题不在于安全文件。我解决不了这个问题。可能的原因是什么 亲切的问候 如有必要,我的代码如下[使用FlashPro,但不使用Flex!] import flash.net.*; import flash.events.Event;var host:String = new Stri
import flash.net.*;
import flash.events.Event;var host:String = new String("127.0.0.1");
var port:int = 8080;
var securityFile:String = "http://localhost:1755/.../..../s....xml";
var bagli:Boolean = false;
var socket:Socket = null;
var veri:String = new String("----");
btnGonder.addEventListener(MouseEvent.MOUSE_DOWN, tiklantiEvent);
function buildSocket():void
{
trace("beginning....");
socket = new Socket();
socket.addEventListener(Event.CONNECT, onConnect);
socket.addEventListener(Event.CLOSE, onClose);
socket.addEventListener(ErrorEvent.ERROR, onError);
socket.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
socket.addEventListener(ProgressEvent.SOCKET_DATA, onResponse);
Security.allowDomain(host);
Security.loadPolicyFile(securityFile);
try {
socket.connect(host, port);
bagli = true;
trace("--- connection...");
} catch (error:Error) {
trace("--- connection failed...");
socket.close();
}
}
function send(string:String):void {
socket.writeUTFBytes(string);
socket.flush();
}
function onConnect(event:Event):void {
trace("connect");
}
function onClose(event:Event):void {
trace("closed");
}
function onError(event:IOErrorEvent):void {
trace("connection erron");
}
function onIOError(event:IOErrorEvent):void {
trace("data error");
}
function onResponse(event:ProgressEvent):void {
var string:String = socket.readUTFBytes(socket.bytesAvailable);
trace(string);
}
function (sender:Event):void {
trace("clicked button....");
buildSocket();
trace("------------------");
}
您正试图使用内容类型策略文件授权套接字连接。您应该改用套接字策略文件。策略文件语法与我记忆中的相同,但url应该以xmlsocket://而不是http://开头。此文件不应通过http提供 此外,主机的域和策略文件地址中的域应该完全相同。假设您的主机被指定为127.0.0.1,请将策略文件url更改为 xmlsocket://127.0.0.1:1755
有关更多详细信息,请参阅。您的解决方案也不起作用:(我使用Flex构建的swf文件建立了连接,但无法接收或发送任何内容。在使用Flash Pro Cs5构建的swf文件上,它可以工作…代码和策略文件相同…我使用了套接字策略文件,情况相同:(跟踪的输出是什么?您有专门的服务监听端口1755并返回套接字策略吗?在flash pro cs5上,跟踪是正常的。我可以发送和接收数据包。但在Flex上我做不到……我在C#a服务器[Tcp服务器]上给我写信。我不明白代码在cs5上工作,但在Flex上不行:(