2012-03-14 5 views
3

대화 형 게임 플레이를 위해 socket.io를 사용하는 nodeJS의 애플리케이션을 개발 중입니다. socket.on ('connection') 콜백 블록 내에서 여러 변수를 선언했습니다. 알 수 있듯이 이러한 변수는 연결에 따라 다르며 각 클라이언트에 대한 소켓 연결에서 각 콜백에 대한 인스턴스가 발생합니다.nodeJS/Socket.io의 연결 별 변수

테스트 도중 두 개의 브라우저에서 시도해 보았고 동시에 두 개의 독립적 인 게임 세션을 재생할 수 있었으며, 그 결과이 변수에 대한이 견해를 확인할 수있었습니다.

그러나 더 많은 라이브 환경에서 다른 플레이어의 동작이 내 화면에 동작으로 나타났습니다. 나는 아무데도 방송을 사용하지 않는다. 연결 블록 안에는 단순한 것만 나오기 때문에 왜 이런 일이 일어나는 지 궁금해한다.

연결 관련 변수에 대한 제 가정은 올바르지 않습니까? 아니면 좀 더 미묘한 응용 프로그램에 특별한 이유가 있습니까?

답변

1

가정은 맞습니다. 변수는 소켓 별 연결 이벤트에 대해 로컬입니다. 다른 문제로 인해 문제가 발생합니다.

+0

이 문제를 해결해 주셔서 감사합니다. 잘못된 변수를 몇 군데에서 사용하고있는 것으로 밝혀졌습니다. 블록 내부에서 단일 소켓이 아닌 소켓 컬렉션으로 방출됩니다. –