Flash 套接字策略。他们';你在动我的脑筋
我正在为我的应用程序编写java服务器。 当我调试flash应用程序时,一切正常。 当我发布它并从localhost加载它时,它现在需要加载安全文件 我将该文件作为字符串添加到我的服务器中,当来自flash的请求到来时,我会传递该文件。我从请求读取所有数据,直到结束空字节。 我没有忘记文件文本末尾的空字节。 在flash应用程序中,套接字连接上有事件侦听器,因此当event.CONNECT触发时,会向服务器发送firs命令。 正如我所看到的,这个事件并没有发生。我的服务器将策略文件传递给客户端,但客户端在策略通过后并没有将套接字连接到服务器 我花了一整天的时间试图解决这个问题。我再也不知道该怎么做了。请帮帮我Flash 套接字策略。他们';你在动我的脑筋,flash,sockets,Flash,Sockets,我正在为我的应用程序编写java服务器。 当我调试flash应用程序时,一切正常。 当我发布它并从localhost加载它时,它现在需要加载安全文件 我将该文件作为字符串添加到我的服务器中,当来自flash的请求到来时,我会传递该文件。我从请求读取所有数据,直到结束空字节。 我没有忘记文件文本末尾的空字节。 在flash应用程序中,套接字连接上有事件侦听器,因此当event.CONNECT触发时,会向服务器发送firs命令。 正如我所看到的,这个事件并没有发生。我的服务器将策略文件传递给客户端,
String crossdomeinFile = "<?xml version=\"1.0\"?>\r\n" + "<cross-domain-policy>\r\n" + "<allow-access-from domain=\"*\" to-ports=\"*\" />\r\n" + "</cross-domain-policy>\r\n" + "\0";
System.out.println(crossdomeinFile);
ByteBuffer r = ByteBuffer.allocate(crossdomeinFile.getBytes().length);
r.put(crossdomeinFile.getBytes());
chanel.write(r);
String crossdomeinfle=“\r\n”+”\r\n“+”\r\n“+”\r\n“+”\0”;
系统输出打印LN(crossdomeinFile);
ByteBuffer r=ByteBuffer.allocate(crossdomeinFile.getBytes().length);
r、 put(crossdomeinFile.getBytes());
香奈儿写的(r);
我解决了这个问题,这都是因为NIO的写操作是在非阻塞模式下进行的,所以当我将数据写入套接字时,它没有被完全传输。向我们展示不工作的代码。字符串crossdomeinfle=“\r\n”+“\r\n”+“\r\n”+“\r\n”+“\r\n”+“\0”;系统输出打印LN(crossdomeinFile);ByteBuffer r=ByteBuffer.allocate(crossdomeinFile.getBytes().length);r、 put(crossdomeinFile.getBytes());香奈儿写的(r)代码>编解码器无法格式化,抱歉。所以这里我发送回flash套接字策略。一段时间后,它得到了策略,我得到了这样一个:[SecurityErrorEvent type=“securityError”bubbles=false cancelable=false eventPhase=2 text=“Error#2048”]我使用我连接到的同一个端口6969。上面的代码就是我在java server中的代码。在该代码之前,我从flash读取请求直到\0字节。