2016-06-15 4 views
0

그래서 Redis와 Socket.io를 사용하여 이벤트를 클라이언트 측에 브로드 캐스트합니다. 백엔드에 Laravel을 사용하고 있으며 이벤트 기능을 활용할 것입니다.Socket.io : 사용자가 청취 채널을 변경할 수 있습니까?

사용자의 액세스 수준에 따라 특정 채널을 듣기를 원합니다. 나는 그들이 듣게 될 채널을 동적으로 설정할 수 있다고 생각했지만, 디버깅 도구 나 그들이 듣고있는 채널을 변경하는 종류를 사용할 수 있는지에 대해 걱정했다.

예를 들어, 페이지가 'channel-100'에서 수신 대기 할 수 있지만 'channel-110'과 같이 다른 채널을들을 수 있도록 코드를 변경할 수 있습니까?

+0

Ably: simply better realtime 그래서 우리는 당신을 도울 수 우리에게 관련 코드를 표시합니다. – Brad

답변

2

Socket.io를 구체적으로 도울 수 있는지 확신 할 수 없지만 실시간 시스템에서 어떻게 접근했는지 알려 드릴 수 있습니다. 문제가있을 수 있습니다.

고객이 채널에 연결하도록 요청할 수 있으므로 고객이 제안한 것과 반대입니다. 즉 클라이언트는 고객이 듣는 것을 결정하고 서버는 결정하지 않습니다.

이제 어떤 클라이언트가 어떤 채널에 액세스 할 수 있는지에 대한 우려를 해소하기 위해 Laravel 앱은 어떤 권리가 있는지 지정하는 토큰을 발행해야합니다. Laravel 앱은 ID 관리를 담당하며 사용자가 누구인지 알기 때문에 항상 최신 정보를 유지하는 것이 가장 좋습니다. 따라서 클라이언트는 Sara.io 서버로 전달되는 Laravel 응용 프로그램의 토큰을 요청해야합니다.이 토큰은 다시 요청을 허용/거부 할 수있는 규칙을 적용해야합니다. 그렇게하면 Socket.io 서버에 시스템에서 임베드 된 비즈니스 로직이 없어도되며 토큰을 발행하는 것이 앱에서 쉽습니다.

how we made token authentication can work with your app을 참조하십시오.

직접적인 대답이 아니라는 것을 깨달았지만 구조적으로 어떻게 생각하는지 생각해보십시오.

매트, 공동 설립자,