gpt4 book ai didi

actionscript-3 - 如何使我的PHP Socket Server将策略文件发送到Flash客户端?

转载 作者:行者123 更新时间:2023-12-03 11:56:27 25 4
gpt4 key购买 nike

我的Flash游戏需要连接到我的PHP Socket Server。由于安全原因,策略文件在尝试连接时必须发送到Flash客户端。

以下是我所做的。

在Actionscript/Flex 3/Flash中:

Security.loadPolicyFile("http://[SERVER.IP]:9000/crossdomain.xml");
socket.connect(hostName, port); //connect to the socket
[rest of original code]

为了使套接字服务器对请求做出响应,我向服务器添加了以下内容:
elseif (preg_match("/policy-file-request/i", $buffer) or preg_match("/crossdomain/i", $buffer)) {
socket_write($socket, '<?xml version="1.0"?><cross-domain-policy><site-control permitted-cross-domain-policies="all"/><allow-access-from domain="*" to-ports="9000" /></cross-domain-policy>');
unset($read_sockets[array_search($socket, $read_sockets)]);
socket_shutdown($socket, 2);
socket_close($socket);

但是,我收到以下错误消息:“由于缺少Content-Type,因此忽略了(URL)上的策略文件。”因此,我尝试通过在我的xml代码上方添加 header 来解决此问题:
socket_write($socket, "Content-Type: text/xml\n");

不幸的是,我仍然遇到相同的错误。我输入的内容类型有误吗?

最佳答案

尝试发送此:

HTTP/1.1 200 OK\r\nContent-Type: text/xml\r\n\r\n

确保在此之前没有发送任何消息。
另外,在关闭套接字之前发送 \r\n

关于actionscript-3 - 如何使我的PHP Socket Server将策略文件发送到Flash客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1082676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com