2012-06-06 1 views
1

모든 createchannel()이 iFrame URL을 대체하는 것으로 나타났습니다.채널 API - 가끔 메시지가 표시되지 않습니다.

createChannel()에 대한 재 호출로 인해 iFrame이 새로운 iFrame으로 대체 될 가능성이 있습니까? 그러나 clientID와 iFrame URL 간의 바인딩이 업데이트되지 않았습니까?

예 : 나는 "channel.create_channel (unique_id)"이라고 불렀고, 123.talkgadget.google ...와 함께 JS를 iFrame으로 가져 왔습니다. 그런 다음 동일한 고객 ID "channel.create_channel (unique_id)"로 다시 전화를 걸었습니다. 그리고 iFrame으로 JS를 456.talkgadget.google ...으로 되찾았습니다.

지금 "channel.send_message (unique_id, msg)"로 전화하면 메시지가 456.talkgadget.google 대신 123.talkgadget.google으로 보내 져서받지 못했을 가능성이 있습니까? 메시지?

감사합니다.

답변

0

나는이 답변에 대해 100 % 확실하지 않습니다. 필자는 철저히 테스트하지는 않았지만 dev_appserver 동작이 실제 서버 동작과 상당히 다르기 때문에 테스트하기가 약간 어렵습니다.

나는 (메시지 누락) 전에이 동작을 본 것으로 믿습니다.

클라이언트 측에서 이전 채널을 닫으면 모든 것이 제대로 작동하는 것으로 보입니다.

인터넷 연결이 끊긴 경우를 처리하지 못했지만 클라이언트 측에서 닫을 수는 없습니다.

+0

감사합니다. 이전 채널을 폐쇄한다는 것은 무엇을 의미합니까? var iframe = document.getElementById ('wcs-iframe'); \t if (iframe! = null) \t \t {// alert ('-'); \t \t \t iframe.parentNode.removeChild (iframe); \t \t} \t \t socket.close(); 도움이되지 않습니다 ... –

+0

나는 socket.close()를 호출하기 만하면 iframe을 만질 필요가 없습니다. – dragonx

+0

도움이되지 않습니다/: 가끔 메시지가 표시되지 않습니다 .. –