minecraft我的世界,服务器总是连接断开

minecraft我的世界,服务器总是连接断开,第1张

这个上面说的很清楚的。。。

在 Adobe Flash Player 升级到 90124 后,由于安全策略更改,原来 Socket 或 XmlSocket 的应用里的 http 方式加载安全策略的手段不能继续使用。更改如下:

1, 首先检测目标服务器的 843 端口是否提供安全策略

2, 如果 1 没有检测到策略,则检测 actionscript 是否使用了 SecurityloadPolicyFile(xmlsocket://)手段提供安全策略,如果还没检测到,则使用第 3 步检测

3, 检测目标服务器目标端口是否提供安全策略。

在说具体处理方式前,我先描述一下 Flash Player 的验证过程。在 Flex 程序发出 Socket 或 XmlSocket( 以下统称为 Socket) 请求前, FlashPlayer 会先判断是否为本地调用,如果不是。即用一个 Socket 去链接到你的服务端,三次握手成功后一方面发出字符串“ <policy-file-request/>\0 “另一方面监听返回的安全策略。安全策略接收成功后, FlashPlayer 就断开验证的 Socket ,然后再运行程序本身的 Socket 。在整个 SWF 运行期间,无论你请求多少次,只要域相同, FlashPlayer 就只验证一次。这里有两个重点:

第一个是验证的 Socket 和程序的 Socket 是两个 Socket 。所以你在本地测试时,服务端监听到 N 个 Socket 请求,但布置到服务端后,服务端会监听到 N+1 个请求。

第二是验证的 Socket 发送“ <policy-file-request/>\0 “请求和接收你的策略文件是没有先后关系的,所以你没必要接收完“ <policy-file-request/>\0 “后才发策略文件。我的做法是只要监听到请求,就把策略字符串发过去。

在Java中,我处理的方法是独立启动一个843端口的服务专门监听授权请求,这样客户端响应速度很快,代码片段如下:

String xml = "<xml version=\"10\"><cross-domain-policy><site-control permitted-cross-domain-policies=\"all\"/><allow-access-from domain=\"\" to-ports=\"\"/></cross-domain-policy>\0";

Socket socket=serverSocketaccept();

BufferedReader br = new BufferedReader(new InputStreamReader(socket

getInputStream(), "UTF-8"));

PrintWriter pw = new PrintWriter(socketgetOutputStream());

char[] by = new char[22];

brread(by, 0, 22);

String s = new String(by);

Systemoutprintln("s="+s);

if (sequals("<policy-file-request/>")) {

Systemoutprintln("接收policy-file-request");

pwprint(xml);

pwflush();

brclose();

pwclose();

socketclose();

}

另外,一定要注意 xml 字符串后面的 ”\0” ,因为 Flash Player 是用他来做分隔符的,如果你不加上,客户端验证 socket 可能就一直等待。另外授权接收的socket一定要断开。

这个你先QQ联系下腐竹,问下有没有ban你,我估计是没有的;

我以前也出现过这个问题,去弄个好多办法都不行。

只能这样:你先不要急着一直去登录,先放着个10几分钟再登录,不行的话就再等久一点,意思就是说你不要一直频繁的登录,不然服务器那边会把你判断为是受到攻击,就会中断你的连接。

是否可以解决您的问题?

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » minecraft我的世界,服务器总是连接断开

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情