C ++服务器无法识别AS3套接字

时间:2012-07-02 23:19:38

标签: c++ actionscript-3 network-programming network-protocols

好吧,在不到24小时内有三个问题。但我认为缺少任何有用的文件(无论如何我都能找到)让我别无选择。

现在我知道所有关于adobes开始运行的安全问题,政策文件交易和沙盒限制都必须加以解决。我完成了建议的选项更改,允许在我的AS3项目中进行网络访问。我让我的服务器准备好在连接时立即吐出策略文件;但问题是flash / AS3无论你想叫什么它只是看不到我的服务器(或其他方式)

AS3会延迟几秒钟,就像文档中说的那样,如果它努力建立连接/找到策略文件,但它从未建立连接期,尝试一段时间然后放弃并向我发送访问权限错误(因为它没有找到它认为不允许在网络上使用的策略文件,所以它因为尝试而生气... lil顽固的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似乎没有做任何事情,直到我注意到,我得到相同的msgs有或没有它,代码似乎是在套接字声明中指定的位置寻找策略文件。一切都编译得很好,它只是没有做我想做的事情:P其他人似乎都在用Perl或Python编写他们的服务器我还没有找到大量的C ++材料,尽管从我的理解TCP是一个跨任何支持它的平台的通用连接(可以跨语言,没有任何有趣的业务)

哎呀,我现在得到的,如果你想要代码的其他部分(客户端或服务器端,无论你想要什么),就可以快速地将它粘在这里。

编辑:

我发现了一个我下载的swf在线,它与它附带的示例服务器连接良好(但是该服务器是用c sparp编写的,所以它对我来说没用多少)但它不会连接到我的服务器。因此,一个已知良好的Flash客户端WONT连接到我的C ++服务器,但C ++客户端将连接到我的C ++服务器。所以它在服务器端显然是一些东西,因为它听到任何来自flash应用程序(我的或者expamle)的任何连接

干杯; -Tyler

1 个答案:

答案 0 :(得分:2)

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