2012-05-24 4 views
4

며칠 전에 최신 버전이 출시 된 이래로 채널 토큰이 생성되어 몇 분이 지나면 끊어지는 사용자가 발생했습니다. Google의 토큰은 5 시간 동안 지속되지만, 5-10 분 동안 지속되면 운이 좋으며 사용자가 새로 고침 할 때까지 채널이 닫힐 때 새 채널 토큰으로 다시 연결할 수 없습니다.아무 이유없이 채널이 오래되어서 끊어짐

자바 스크립트 오류로 인해 시작이 트리거됩니다. 그것은 다음과 같습니다

NetworkError : 400 알 수없는 SID - 그럼, 파이어 폭스 방화범, 콘솔이

채널 이름 불일치로 무한 스팸됩니다 http://89.talkgadget.google.com/talkgadget/dch/bind?VER=8&clid=C9C2EFC06C7C5163&gsessionid&prop=data&token=AHRlWrrWl611ZMMDw8Apgi5vdYuS9UslofxEiJI47-2n4rkPgmuu1z0AN-UNQcyNEvhck-AYAMSLPru8Aumooz62hYNNbLTbi1a3lTSAzGEyj6TsXZirJYE&RID=rpc&SID=BEBDEFDA92C6A9F7&CI=0&AID=54&TYPE=xmlhttp&zx=gsjg8mb1i987&t=1

; 메시지가 무시되었습니다.

새로 고침이 발생할 때까지입니다.

저희 사이트는 채팅이 가능한 실시간 대화 형 사이트입니다. 우리 사용자는 끊임없이 연결이 끊어지면서 화가 난 이메일을 보내고 있습니다. 그들은 사이트를 떠날거야. 이로 인해 사용자 기반의 친선뿐만 아니라 돈도 많이 들었습니다. 버그가 Google App Engine에 있기 때문에 아무 것도 할 힘이 없습니다.

알아두기 전까지는이 빌드를 즉시 수정하거나 롤백하십시오. 최신 빌드가 손상되었습니다.

답변

2

나는 이것을 재현하지 못했지만 나는 아직도 그것을보고있다. 그 동안 오류를받은 후에 명시 적으로 socket.close()를 호출하면 새 Channel 객체를 만들고 다시 연결할 수 있습니까? 그래도 작동하지 않는다면 ID가 "wcs-iframe"인 요소를 DOM에서 수동으로 제거해 볼 수도 있습니다. 새 토큰을 가져 오는 대신 원래 토큰을 사용할 수 있어야합니다.

+0

감사합니다. 이렇게하면 사용자가 다시 연결할 수 있으므로 문제가 완화됩니다. 그러나 우리는 매일 사용할 수있는 한정된 수의 채널을 가지고 있기 때문에 5 시간 만료 된 채널 토큰을 요청하고 5 분 후에는 5 분 후에 다른 5 시간 토큰으로 바뀌게됩니다. 우리를 위해 오래 가지 않을 것입니다. 이 문제를 조사해 주셔서 감사합니다. :) – Steven

+0

5 시간 동안 초기 토큰을 다시 사용할 수 있어야합니다. 만료되지 않습니다. 뭔가 다른 연결이 끊어지고 있습니다. 클라이언트 측에 토큰 값을 캐시하면 토큰 시간 초과 오류가 발생할 때까지 다시 사용할 수 있어야합니다. –

+0

실제로 만료 된 토큰과 만료되는 토큰의 차이점을 어떻게 알 수 있습니까? 연결 재 시도를 제안하고 두 번째 실패하면 실제로 만료되었으므로 새 토큰을 얻어야합니다. 이 모든 작업은 GAE에 대한 마지막 업데이트에서 소개 된 근본적인 문제를 완화하는 것입니다. 이 토큰은 너무 일찍 만료되지 않아야합니다. – Steven

관련 문제