2010-12-30 3 views
1

GAE 채널 API가 작동하는 방식을 테스트하기 위해 작은 응용 프로그램을 만들고 있습니다. 필자는 설명서에 설명 된대로 모든 작업을 완료했다고 생각하지만, 시작하면 FireFox 오류 로그에 구문 오류가 처음에 표시되고 그 다음에는 요소가 발견되지 않았다는 반복 오류가 표시됩니다. 다음은 첫 번째 오류 정보입니다 : 여기 로컬 컴퓨터에서 GAE 채널 API를 작동시키지 못함

Source: http://127.0.0.1:8080/_ah/channel/dev?command=connect&channel=channel-773698929-185804764220139124118 
Line 1, symbol 1 

내 자바 스크립트 코드가 반복적으로 연결을 시도하는 URL이며 두 번째 오류 제기

http://127.0.0.1:8080/_ah/channel/dev?command=poll&channel=channel-2071442473-185804764220139124118&client=1 

내가 가진 JSON 요청을 통해 토큰을 얻기를 jQuery $.get. 그런 다음이 코드를 실행하여 토큰을 가져온 다음 채널을 엽니 다.

class OpenChannel(webapp.RequestHandler): 
    def get(self): 
     user = users.get_current_user() 
     token = channel.create_channel(user.user_id()) 
     serialized = json.dumps({'token': token}) 
     self.response.headers['Content-Type'] = "application/json" 
     self.response.out.write(serialized) 

무엇 내 오류가있어 내가 무엇을 할 수 :

다음
var response = JSON.parse(data); 
     var token = response.token.toString(); 
     channel = new goog.appengine.Channel(token); 
     var handler = { 
      'onopen': onOpened, 
      'onmessage': onMessage, 
      'onerror': function() { 
      }, 
      'onclose': function() { 
      } 
     }; 

     socket = channel.open(handler); 

파이썬에서 서버 측 코드 채널을 열 수있다 : 나는 socket = channel.open(handler)을 실행할 때 오류가 단지 보여주기 시작? 감사!

답변

1

채널 API가 GAE 호스팅과 다른 방식으로 로컬 호스트에서 작동하는 것으로 보입니다. 클라우드에 업로드 했으므로 이제는 제대로 작동합니다. 로컬 컴퓨터에서 정상적으로 작동하는 것처럼 보이지만 오류 로그에 영구 JS 오류가 반복되어 표시됩니다.

+3

이것은 질문이나 댓글의 일부가 아니며 대답이 아니어야합니다. – systempuntoout

+0

나는 그렇게 생각한다. 그러나 어쨌든 많은 사람들이 아직 문제에 직면 한 것처럼 보이지 않는다. –

0

핸들러 인수를 제거하고 핸들러를 소켓 객체의 메소드 (예 : socket.onopen = function() {}; 등)로 추가해볼 수 있습니다. 저에게는 효과적이었습니다. 그러나 당신 말이 맞습니다. this에 따르면 처리기 인수를 사용하여이 작업을 수행 할 수 있어야합니다. 흠.