2011-04-28 5 views
1

문제 :Socket.IO : "사용할 수있는 전송을"플래시 소켓을 강제하지

그래서 전송 방법의 모든했다 있는지 확인하고 싶었 socket.IO가 어떤 상황에 연결하는 데 사용하는 데 문제가 있습니다 잘 작동합니다. flashflash 소켓을 강제로 사용하면 "No transport available"오류가 발생합니다. WebSocketMain.swf 파일은 html 파일과 동일한 디렉토리에 있습니다. 내가 소켓에 연결하기 위해이 코드를 사용하고

,

var socket = new io.Socket(null,{port: 8086, rememberTransport:false, transports:['flashsocket']}); 

예 :http://thebeer.co/labs/realTime.php

(자세한 정보를 원하시면 소스를 찾아 내 JS는 포함 된 socket.io pulgin 스크립트에서) 문제

+0

다른 전송 장치와도 잘 작동합니까? – Emmerman

+0

전송을 지정하지 않으면 @emmerman 연결됩니다. Chrome 테스트 전용. – wilsonpage

+0

'Flashsocket.check' 함수를 살펴보고 거기에서'if' 조건을 단계적으로 실행하여 문제가 어디에 있는지 파악하십시오. – Emmerman

답변

4

적어도 일부

if (window.WebSocket) return; 
012 인 socket.io.js의 1887 번 라인에있는

WebSocket이 이미 작동 중이면 플래시를 구성하지 않습니다. 테스트해야하는 경우 해당 행을 주석으로 처리하십시오.

+0

화려한 찬스! – wilsonpage

+1

일 (2012 년 1 월), socket.io.js의 @line 2614 ... – hwjp

+1

이 검사는 이제 WS.check()에서 발생합니다. WS.check = function() { return (' WebSocket 'in global &&! (WebSocket의'__ addTask ')) || 글로벌 'MozWebSocket'; }; – shiftins