2012-05-21 3 views
0

내 프로젝트에 socket.io를 사용하고 있는데 같은 소켓에 두 개의 연속 된 메시지를 보낼 때 문제가있는 것처럼 보입니다. 아이디어는 사용자가 여관을 기록 할 때, 나는 그가 연결되지 않은 동안 그에게 보내진 모든 메시지를 보내고, 동일한 방법으로 몇 가지 .emit 호출이 발생할 수 있다는 것이다.Socket.io에서 두 개의 연속 된 메시지를 보낼 수 없습니까?

: 여기

서버 콘솔의 출력입니다 ... 그러나, 클라이언트는 이러한 메시지를받지 것, 또는 적어도 그가 그들을받은 것을 이해하지 ... 메시지를 보내기 독립적으로 미세하지만 작동
debug: xhr-polling writing �104�5::: 
{"name":"friend_request","args": 
[{"_id":"4fb040147185a2e21f000002","email":"[email protected]"}]}�201�6:::6+ 
[{"_id":"4fb91f732f869a6f16000004","socketId":"12602175611929481375","email":"[email protected]", 
"friends":[],"recentOpponents":[],"games":[]}] 

socket.io의 버그입니까? 아니면 잘못된 것입니까? 이 동작은 .emit을 두 번 연속 호출하면 쉽게 재현 할 수 있습니다 ...

아, btw. Socket.io 버전 0.9.6 및 NodeJS 0.6.17

+0

추가 조사에 따르면 안드로이드 2.2 (내 대상 장치)의 웹 브라우저에서만 이러한 현상이 발생합니다. 안드로이드 4.0.3과 사파리 5.1 (websocket) 문제와 unencombered 것 같습니다 ... –

답변

0

실제로이 문제는 내 html 파일에 추가하지 않은 것으로 보입니다. Socket.io는 유니 코드 문자를 사용하여 페이로드를 나타냅니다. 따라서 ASCII 인코딩 (기본값)을 사용하면 여러 개의 메시지를받을 수 없게됩니다 (긴 폴링을 사용할 때 발생할 수 있음).

관련 문제