Question

Supposons qu'un client envoie un certain nombre de datagrammes à un serveur via mon application. Si ma demande sur le côté serveur cesse de fonctionner et ne peut pas recevoir des datagrammes, mais le client continue d'envoyer plus de données grammes au serveur via le protocole UDP, où sont les datagrammes vont? Vont-ils rester dans la mémoire tampon de données OS du serveur (ou quelque chose?)

Je pose cette question parce que je veux savoir que si un client envoie 1000 datagrammes (1K chacun) à un PC sur Internet, est-ce les 1000 datagrammes passer par Internet (consommation de la bande passante) même si personne n'écoute ces données?

Si la réponse est oui, comment dois-je arrêter ce qui se passe? Je veux dire que si un serveur cesse de fonctionner, comment dois-je utiliser UDP pour apprendre à connaître le fait et arrête tout envoyer d'autres?

Merci

Était-ce utile?

La solution

  

Je pose cette question parce que je veux savoir que si un client envoie 1000 datagrammes (1K chacun) à un PC sur Internet, est-ce les 1000 datagrammes passer par Internet (consommation de la bande passante) même si personne n'écoute ces données?

Oui

  

Si la réponse est oui, comment dois-je arrêter ce qui se passe? Je veux dire que si un serveur cesse de fonctionner, comment dois-je utiliser UDP pour apprendre à connaître le fait et arrête tout envoyer d'autres?

Vous avez besoin d'une boucle de contrôle de niveau de protocole dire que vous devez mettre en œuvre un protocole pour prendre soin de cette situation. UDP est pas orientée connexion si à la « application » qui utilise UDP pour tenir compte de ce mode d'échec.

Autres conseils

UDP lui-même ne fournissent pas d'installations pour déterminer si un message est reçu avec succès par un client ou non. Vous devez vous TCP pour établir une connexion fiable et après des données sur UDP envoie.

La solution la plus basse serait en tête une chose de type keep-alive comme jdupont suggéré. Vous pouvez également modifier d'utiliser tcp, qui fournit ce service pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top