2013-09-03 2 views
2

Smack 라이브러리와 Openfire를 사용하여 채팅 웹 사이트를 만들려고합니다. 내 문제는 두 번째 사용자와 로그인 할 때 첫 번째 사용자가 덮어 쓰기된다는 것입니다. 나는 왜 그런지 이해하지 못한다. 로그인 할 때 새 연결을 만든 다음 해당 연결을 맵에 저장합니다. 여기서 키는 사용자 테이블의 로컬 데이터베이스에있는 ID입니다. 따라서 두 번째 사용자와 로그인 할 때 새로운 연결이 만들어 져야합니다. 다른 연결로지도에 연결을 저장 한 다음 첫 번째 연결을 만들어야합니다. 새 연결을 만들면 새 스레드도 시작됩니다. 그렇다면 첫 번째 사용자의 연결이 왜 덮어 쓰여 집니까?Grails XMPP 채팅 웹 사이트

답변

1

스프링 소셜 Facebook 플러그인을 사용하고 있습니까? Grails 2.1에서도 같은 문제가 발생했습니다. 2.2.3으로 업그레이드하여 해결했습니다.

+0

저는 grails 2.2.3을 사용하고 있습니다. 이 문제는 사용하여 해결되었다 : '데프 currentRequest = RequestContextHolder.requestAttributes' 을하고 currentRequest에 나는이 같은 사용자의 정보를 loged 저장 'currentRequest [ "뭔가] = ... 사용자 정보 ...' 이제 다른 문제가 생겼습니다. 로그인 한 사용자의 정보가 들어있는 클래스가 있습니다.이 클래스에는 몇 개의 수신기가 있습니다. 메시지 수신기 등. 모두 예외없이 작동합니다. 초대 청취자는 다음을 수신합니다. if 그룹 채팅에 초대를 받았거나하지 않았습니다.이 수신기는 때때로 작동하며 때로는 ... –

관련 문제