클라이언트에서 푸시 알림을 보낼 수있는 응용 프로그램을 작성해야합니다. 하지만 때로는 클라이언트의 연결이 끊어지기 때문에 알림을 저장하고 다시 연결할 때 클라이언트에 보내고 싶습니다.메시지 수신 확인
이 방법이 있습니까? 클라이언트가 전송되기 전에 알 수있는 방법이 필요합니다. 또는 알림이 잘 수신되는지 여부를 알 수있는 방법이 필요합니다. 내 알림은 클라이언트마다 다릅니다.
나는 많은 코드를 표시 할 수 없습니다,하지만 난이 같은 것을 사용하고 싶습니다 :
@Autowired
private SimpMessagingTemplate messagingTemplate;
public void sendPush(Long clientId) {
messagingTemplate.convertAndSendToUser(clientId, "/queue/reply", myMessage);
// -> how do I know if message is received ?
}
나는 스프링 웹 소켓과 스톰 - 엔드 포인트를 사용합니다.
감사합니다.
고객의 시스템에 클라이언트 프로그램이 설치되어 있습니까? 그 코드를 제어 할 수 있습니까? 그렇다면 클라이언트가 연결될 때 서버에 메시지를 가져 오거나 (또는 요청하는) 코드가 구현되어 있어야합니다.이 코드는 이미 있어야합니다. 서버는 메시지가 푸시되었음을 알게됩니다. –
클라이언트가 푸시 된 메시지를 수신 한 시점을 알지 못하면 서버가 메시지를 클라이언트에 보내야하는지 여부를 서버가 어떻게 알 수 있습니까? –
클라이언트가 서버에 "이봐, 여기있다!"라고 말합니다. 연결될 때. 그런 다음 서버가 "ok, 여기에서이 메시지를 가져옵니다!"라고 말합니다. 클라이언트가 "ok 나는 그들을 얻었습니다. 감사합니다!" 서버는 클라이언트가 메시지를 받았음을 클라이언트가 알리기를 기다리고 있습니다. 그때까지 서버는 클라이언트가 메시지를 받았는지 여부를 알지 못합니다. 내가 너에게 편지를 보내고 다시 보내지 않으면 내가 너를 보낸 편지가 있다는 것을 어떻게 알 수 있니? 그 문제는, 내가 이해하는 바와 같이, TCP가 UDP를 해결하는 것과 동일한 문제이다. –