-1

好吧,在不到 24 小时内提出了三个问题。但我想缺乏任何有用的文档(无论如何我都能找到)让我别无选择。

现在我知道所有关于 adobes 的安全性、策略文件交易和沙盒限制的所有信息了。我完成了建议的选项更改,允许在我的 AS3 项目中进行网络访问。我让我的服务器准备好在连接后立即吐出策略文件;但问题是 flash/AS3 无论你想怎么称呼它都看不到我的服务器(或相反)

AS3 延迟了几秒钟,就像文档说的那样,如果它努力建立连接/找到策略文件,它会延迟,但它从来没有建立连接期,尝试了一段时间然后放弃并向我吐出一个访问错误(因为它没有找到它假定它不允许在网络上的策略文件,所以它对我的尝试感到生气...... lil stubborn buggers)

Flash 永远不会得到它正在寻找的东西,而且我的服务器永远不会检测到任何连接(失败或成功,什么都没有) 我知道我的服务器很好,因为我已经用我用 C++ 编写的测试客户端对其进行了测试,他们说话就像最好的朋友一样。

所以我现在几乎没有想法,我想在AS3中重新创建winsock类,但我什至不知道winsock的connect()函数是如何工作的;我得到了声明,我找不到它的定义。

我不确定您从我的源代码中真正需要什么,但是仅在客户端中就已经有超过一千行,所以发布它并不是一个真正的选择。我在这里至少给出我认为相关的内容。

function hwndEnterFrame(e:Event):void
        {
            //trace("Frame Entered");

            if (firstframe)
                {
                    trace("try to reconcile policy file...");
                    //Security.loadPolicyFile("192.168.1.2:843");
                    TSocket = new Socket("192.168.1.2",843);//must call flush() to send data***

                    firstframe = false;
                }

到目前为止,Security.loadpolicyfile 似乎没有做任何事情,无论有没有它,我都会得到相同的消息,代码似乎正在套接字声明中指定的位置寻找策略文件。一切都编译得很好,它只是没有做我想做的事情:P 其他人似乎都在用 Perl 或 Python 编写他们的服务器我还没有找到很多丰富的 C++ 材料,尽管据我了解 TCP 是一个跨任何支持它的平台的通用连接(可以跨语言而无需任何有趣的业务)

嗯,这就是我现在得到的,如果你想要代码的其他部分(客户端或服务器端,无论你想要什么),我都会把它贴在这里。

编辑:

我在网上找到了一个我下载的 swf,它可以很好地连接到随附的示例服务器(但该服务器是用 c sparp 编写的,所以它对我没有多大用处)但它不会连接到我的服务器。因此,一个已知良好的 Flash 客户端不会连接到我的 C++ 服务器,但一个 C++ 客户端将连接到我的 C++ 服务器。所以它显然是在服务器端,因为它不会从 Flash 应用程序(我的或示例的)听到任何连接

干杯; -泰勒

4

1 回答 1

2

我终于弄明白了。我需要AllowDomian(IPofserver)。我以为我已经尝试过了,但显然没有。

于 2012-07-12T02:43:10.290 回答