dans le socket entre le serveur et de nombreux clients nous avons besoin select() .je veux savoir où shoude être la fonction select()? Serveur ou client? si elle devrait être dans le serveur, quels changements nous devrions faire dans le clientselect() fonction
1
A
Répondre
3
L'utilisation de select()
n'affecte en rien la sémantique de la communication socket. Il fournit simplement un moyen d'attendre plusieurs sockets (ou fichiers) simultanément, et de découvrir par la suite ceux qui sont prêts à fonctionner. Comme c'est le serveur qui a généralement de nombreuses connexions, c'est le serveur qui appelle select()
. Rien de spécial à faire sur le client.
Questions connexes
- 1. SELECT MAX() fonction dans MySQL
- 2. Fonction dans SQL Select Instruction
- 3. Mysql Select String Fonction Problème
- 4. Fonction d'agrégation Select ou boolean dans PostgreSQL
- 5. JQuery select() problème de fonction dans IE8
- 6. Fonction coûteuse à l'intérieur d'un select imbriqué
- 7. La fonction Winsock Select() donne l'exception 0xC00000FD
- 8. Cacher/afficher <select> en fonction de l'autre <select>
- 9. La fonction LINQ Select() jette les valeurs chargées (loadoptions)
- 10. Modifier le contenu d'une page en fonction d'un élément "select"
- 11. Comment exécuter des instructions SELECT différentes en fonction d'un CAS
- 12. Procédure SQL Server SELECT stockée en fonction de combobox.selectedvalue
- 13. Select Box sur le changement Non appelé pour cette fonction
- 14. texte Définie en fonction de formulaire <select> valeur
- 15. programmation Socket en C, en utilisant la fonction select()
- 16. hoverIntent déclenche la fonction 'out' sur l'élément select
- 17. MYSQL désactiver SELECT BENCHMARK
- 18. Fonctions PostgreSQL select *
- 19. Méthode select select Méthode ORDER BY
- 20. MySQL select query
- 21. MySQL Insert Select
- 22. jquery select problème parent
- 23. Conditionnel SELECT MySQL
- 24. instruction SELECT
- 25. select statement
- 26. select redirection
- 27. SELECT DISTINCT
- 28. Tabcontrol select
- 29. jquery select()
- 30. SELECT question
À moins que le client n'attende une réponse du serveur, auquel cas le client utilisera select(). –
@Blank: Non, le client appelle simplement 'send()' et 'recv()', ce qui bloquera naturellement si la fin du client n'est pas prête à effectuer l'opération demandée. La fonction 'select()' existe uniquement dans le cas où vous voulez attendre plusieurs événements de descripteur de fichier, et vous ne savez pas qui sera prêt en premier. C'est une perte d'effort de l'utiliser pour un seul descripteur (à moins que vous vouliez faire un certain type de protocole asynchrone full-duplex par opposition au modèle de requête-réponse beaucoup plus commun). –
Votre conception de programme peut être telle que vous ne voulez/ne pouvez pas se permettre de bloquer sur envoyer/recv; vous avez besoin qu'ils se produisent seulement quand ils peuvent se produire, de sorte que les fonctions reviennent immédiatement. Les prises ne sont peut-être pas la seule chose à laquelle vous prêtez attention. –