자지(안드 클라)가 보지(다른 안드 클라)한테 메시지를 보낸다는 것은 결국
자지가 보낸 메시지가 서버로 전송되서 서버에서는 받은 정보를 대상인 보지에게 다시 전송을 하겠지?
그럼 보지는 메시지를 받게될거야.
근데 앱이 꺼져있는데 어떻게 노티피로 알림 오냐?
메모리 상주되는거임?
그럼 tcp연결이 항상 되어있는거잖아.
왜냐하면 연결이 안되면 어떤식으로든 절대 서버가 보지에게 메시지를 보내도 보지는 알수없잖아.
이런거 어케 구현된거야?
알아보니 안드로이드에 뭐 돈내서 쓰는거 있는데
운영체제가 앱을 깨워서 알려준다고 하던데
아니 근데 결국 tcp가 해당 서버에 연결 안되면 노의미잖아
자지가 보낸 메시지가 서버로 전송되서 서버에서는 받은 정보를 대상인 보지에게 다시 전송을 하겠지?
그럼 보지는 메시지를 받게될거야.
근데 앱이 꺼져있는데 어떻게 노티피로 알림 오냐?
메모리 상주되는거임?
그럼 tcp연결이 항상 되어있는거잖아.
왜냐하면 연결이 안되면 어떤식으로든 절대 서버가 보지에게 메시지를 보내도 보지는 알수없잖아.
이런거 어케 구현된거야?
알아보니 안드로이드에 뭐 돈내서 쓰는거 있는데
운영체제가 앱을 깨워서 알려준다고 하던데
아니 근데 결국 tcp가 해당 서버에 연결 안되면 노의미잖아
어떻게 자지는 보지에게 정확하게 메시지를 보낼 수 있는걸까?? 정확히는 서버가 클라에게 겠지
gcm / apns - dc App
근데 이렇게 내부 원리 파고드는 질문 되게 좋다고 본다 - dc App
그럼 저 지씨엠인지 쎅스엠인지 뭔가하는 저 서비스에서 ip가 있을거 아냐?? 그럼 서버에서는 클라에게 다이렉트로 주는게 아니라 저 서비스의 ip로 뭐 패킷 주는거임?
ㅇㅇ // tcp 연결을 서버가 먼저 클라에게 맺을수는 없음. 그냥 디바이스 내부에서 서버랑 항시 tcp 연결을 맺고있는거고 - dc App
서버에서 푸시내려보낼게 있다 하면 수많은 tcp 연결중에 해당 디바이스랑 연결된 연결을 찾아서 내리는 거고 - dc App
일단 플젝으로 만들고있으니 다이렉트로 연결해서 주고받아야긋다
디바이스는 해당 메시지 받아서 앱한테 뿌려주고 - dc App
해쉬테이들에 유저id랑 연결된 커넥션 저장시켰는데 근데 그럼 나중에는 다른거 저장해야하는거임?
그 유저의 소켓 찾아서 거따가 페킷날려서 통신하면서 하고있는데 나중에 파이어베이스인지 아이스베이스인지 그거 쓰면 그럼 유저를 뭘로 판가름이냐
커녝션은 소켓
하트비트 잊지마셈 - dc App
fcm인가 저거도 그럼 내부적으로 클라랑 어떤 형태로든 연결을 해서 푸쉬온거 주거 다시 끊고 이거 반복하는거네