WebSocket 프로토콜을 통해 서버에 연결하려고하는 간단한 Flex 응용 프로그램을 구현했습니다. Flash Builder 4.6 디버거에서 응용 프로그램을 실행하면 모든 것이 잘 동작합니다. 그래서 서버에 응용 프로그램을 설치했는데 잠시 후 오류 # 2048이 발생합니다. # 2048은 보안과 관련하여 오류가있는 것 같습니다.Flex : WebSocket에 연결할 때 # 2048 오류가 발생했습니다.
서버는이에 crossdomain.xml 제공 : 업데이트
을
<?xml version="1.0" encoding="UTF-8" ?>
<cross-domain-policy xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.adobe.com/xml/schemas/PolicyFileSocket.xsd">
<allow-access-from domain="*" to-ports="*" />
<site-control permitted-cross-domain-policies="master-only" />
</cross-domain-policy>
편집 :은 그것은 내가 웹 서버 로그에서 볼 수
Security.loadPolicyFile('http://myserver:8081/crossdomain.xml');
를 호출하여 제공하는 사용자들은 클라이언트가로드합니다.
Flex 용 WebSocket 구현으로 AS3WebSocket을 사용하고 있습니다.
이
내가 웹 소켓 객체 설정 방법은 다음과 같습니다websocket = new WebSocket(url, "*", 'dummy', 5000);
// adding several event handler ...
websocket.connect();
브라우저는
http://myserver:8081
사용하여 서버에 연결을 URL 매개 변수는
ws://myserver:8081/data
는 이유는 무엇입니까 보유 그것은 플래시 빌더를 사용하여 로컬로 작업하고 내 작업은 수행하지 않습니다. 응? 내가 뭘 놓치고 있니?
어떤 포트가 크로스 도메인에 배치되어 있습니다. –
Flex 애플리케이션에서 실행되는 첫 번째 행은 _Security.loadPolicyFile ('httpaddressofmyserver : 8081/crossdomain.xml'); _입니다. 앱에서로드됩니다. 그만큼 내 웹 서버의 로그에서 볼 수 있습니다. –
여기 내 다른 게시물을 참조하십시오 http://stackoverflow.com/questions/7634266/open-swf-file-than-works-with-socket/7637329#7637329 –