나는 지난 며칠 동안 node.js와 socket.io를 가지고 놀았습니다. 모든 것이 내 로컬 컴퓨터 (웹 서버용 iss를 사용하는 windows)에서 제대로 작동하지만 원격 서버 (우분투 상자)에 업로드 할 때 보안 오류가 발생합니다.Socket.IO flashsocket 보안 샌드 박스 오류
[trace] Warning: Failed to load policy file from http://localhost:8000/crossdomain.xml
[trace] *** Security Sandbox Violation ***
[trace] Connection to http://localhost:8000/socket.io/1/ halted - not permitted from http://****/virtualcinema/VirtualCinema.swf
[trace] Error #2044: Unhandled securityError:. text=Error #2048: Security sandbox violation: http://****/virtualcinema/VirtualCinema.swf cannot load data from http://localhost:8000/socket.io/1/.
가에 erroring 년대 AS3 코드는 다음과 같습니다
정책 파일이 포트 10843에서 제대로 제공되고 나는 HTTP에서 정책 파일의 벌금을받을 수 있습니다Security.loadPolicyFile("xmlsocket://localhost:10843");
socket = new FlashSocket("localhost:8000");
: // * * : 10843/내 브라우저에서. 포트 8000에서 정책 파일을로드하려고하는 이유는 무엇입니까?이 경고는 로컬 빌드에 나타나지 않습니다.
socket.io 코드 :
socket = io.listen(8000);
socket.configure(function()
{
socket.set("transports", ["flashsocket"]);
socket.set("log level", 2);
});
내가 원격 하나에 localmachine에서 테스트가 아닌 경우가 잘 해결됩니다 이유에 혼란 스러워요. 어떤 도움이 많이 주시면 감사하겠습니다 :)
crossdomain.xml은을 내가 사용하고 :
<cross-domain-policy>
<allow-access-from domain="*" to-ports="*"/>
</cross-domain-policy>
문제는 그 대신하여 XMLSocket에서 정책 파일을로드하는 것입니다 : // localhost를 : 10843, 그것은 HTTP에서로드 : // localhost를 ". Socket.IO에 오신 것을 환영합니다"를 반환 8000/crossdomain.xml에 그게 내 서버가 돌아가고있는 포트입니다. – synergies
빠른 질문, 라이브러리를 사용하여 as3의 socket.io 서버와 통화하고 있습니까? 아니면 As3의 소켓/xmlsockets를 사용하고 있습니까? – funseiki