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

C++ server doesn't recognize AS3 socket

本文关键字:AS3 套接字 识别 服务器 C++      更新时间:2023-10-16

嗯,不到24小时就回答了三个问题。但我想缺乏任何有用的文档(无论如何我都能找到)让我别无选择。

现在,我知道了Adobes开始的所有安全工作,策略文件处理和必须处理的沙盒限制。 我完成了建议的选项更改,允许在我的 AS3 项目中访问网络。我准备好了我的服务器,以便在连接时立即吐出策略文件;但问题是 flash/AS3 无论你想怎么称呼它,都看不到我的服务器(或者相反)

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

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 编写的,所以它对我没有多大用处),但它无法连接到我的服务器。因此,已知良好的闪存客户端无法连接到我的C++服务器,但C++客户端将连接到我的C++服务器。所以它显然在服务器端,因为它不会听到来自 flash 应用程序(我的或 expamle 应用程序)的任何连接

干杯;-泰勒

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