전, 골란과 웹 사이트를 만들었으니 지금 온라인 사용자를 추적하고 싶습니다.골란의 온라인 사용자를 추적
나는 Redis와 SessionID로 작업하기를 원한다.
내 작업을위한 가장 좋은 방법은 무엇입니까?
type Tracker struct {
http.Handler
}
func NewManager(handler http.Handler) *Tracker {
return &Tracker{Handler: handler}
}
func (h *Tracker) ServeHTTP(w http.ResponseWriter, r *http.Request) {
log.Println(r.RemoteAddr)
h.Handler.ServeHTTP(w,r)
}
:
나는 전역 핸들러를 썼다. . .srv := &http.Server{
Handler: newTracker(e),
Addr: "127.0.0.1" + port,
WriteTimeout: 15 * time.Second,
ReadTimeout: 15 * time.Second,
}
log.Fatal(srv.ListenAndServe())
나는 내가 할 수있는 일의 하나의 생각은 다음과 같습니다
서버 및 온라인 사용자를 계산하고이 다음에지도에서 클라이언트에 sessionID와 추가하고 저장합니다.좋은 방법인가요?
완벽한 설명을 해주셔서 감사합니다. 내 웹 사이트에 로그인하지 않은 각 사용자에 대해 독점적 인 ID를 설정하려면 어떻게해야합니까? 많은 사용자가 단일 IP 주소를 사용하고 원격 포트가 너무 많을 수 있습니다. 너 나 좀 도와 줄 수있어? – ahmdrz
큰 문제는 아니지만 (이 부분은 내가 언급 한 것보다 약간 적다) id에 해시 할 사용자 에이전트를 추가하거나 임의의 토큰을 생성하여 쿠키에 넣을 수는 있지만 쿠키 저장과 모든 요청에 대한 읽기/쓰기가 필요하다. . 예제에 추가합니다. –
그레이트 맨! 고맙습니다, 해시 된 사용자 에이전트는 특별한 해쉬입니다. – ahmdrz