فلاش العميل XMLSocket لا يربط إلى خادم
-
05-07-2019 - |
سؤال
ولدي العميل فلاش التي أريد للاتصال الخادم. كلا تستخدم المضيف المحلي والميناء 50000 لذلك لا ينبغي أن يكون هناك أي مشاكل عبر المجال. أنا أيضا تعيين الوصول إلى الشبكة فقط في إعدادات النشر. عندما أسميه XMLSocket الاتصال، ويبدو أن الخادم للحصول على اتصال جديد. ولكن، لم يتم استدعاء الاستدعاء XMLSocket.onConnect مع نجاح = صحيح.
وأي أفكار حول ما يمكن أن يكون الخطأ؟
إليك أكشن لخلق المقبس.
function myOnConnect(success) {
if (success) {
trace ("Connection succeeded!")
inputText.text = "open";
// socket.send("1\n");
gotoAndPlay(2);
} else {
trace ("Connection failed!")
inputText.text = "failed";
}
}
btnConnect.onRelease = function()
{
inputText.text = "started";
result = socket.connect("localhost", 50000);
}
socket = new XMLSocket();
socket.onConnect = myOnConnect;
المحلول
وانتهى هذا الأمر مشكلة أمنية. وأضاف فلاش بلاير الأمنية عند استخدام XMLSocket. برنامج Flash Player تبدو الآن لملف السياسة على المنفذ 843. بديل هو الحصول على نظرة فرنك سويسري لملف النهج باستخدام Security.loadPolicyFile()
المكالمة. في حالة وجود ملف وجميع إعدادات الأمان تسمح XMLSocket، ثم يتم إنشاء الاتصال.
وتحقق من أدوبي المادة على سياسة ملفات ومزيد من المعلومات هنا . هذا هو آخر مقالة حول الملفات سياسة أ >.
وهنا هو ملف السياسة التي عملت أخيرا بالنسبة لي. أنها ليست مقيدة على الإطلاق. ولكن، وأنا أحسب أن الأمور تعمل ثم جعل لهم الحق.
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<!-- Policy file for xmlsocket://socks.example.com -->
<cross-domain-policy>
<!-- This is a master socket policy file -->
<!-- No other socket policies on the host will be permitted -->
<!-- <site-control permitted-cross-domain-policies="all"/> -->
<!-- Instead of setting to-ports="*", administrator's can use ranges and commas -->
<!-- This will allow access to ports 123, 456, 457 and 458 -->
<allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>