Ai-je besoin d'un serveur pour fonctionner avec les sockets? Puis-je envoyer directement des paquets à un autre client et le recevoir sans que l'hôte soit un serveur?A propos des sockets réseau
Répondre
Oui, vous pouvez le faire. Même sur le même ordinateur. Assurez-vous simplement qu'ils utilisent le même port et que le client essaie de se connecter à localhost. J'utilise cette technique régulièrement pour tester mes applications réseau.
Donc, je pourrais faire un programme de chat direct sans avoir à héberger un serveur? – user1499944
Oui, vous pourriez ... –
Deux ordinateurs peuvent parler, mais l'un doit être un serveur et l'autre le client. Ils peuvent échanger des rôles et chacun peut être l'opposé de l'autre.
Mais ils peuvent toujours être des ordinateurs ordinaires sans héberger un serveur pour fonctionner comme un seul? – user1499944
La distinction Client/Serveur dans la programmation des sockets n'est pas aussi précise qu'elle le semble. Fondamentalement, cela a à voir avec la façon dont les deux machines se connectent. Le serveur utilise bind
, listen
et accept
pour attendre constamment les connexions entrantes. Le client doit connaître l'adresse IP du serveur. C'est pourquoi les URL et les DNS existent pour fournir un nom facile à retenir qui correspond à l'adresse IP d'un serveur.
Une fois le client connect()
et accept()
édité par le serveur, les différences sont à peu près terminée. Le client et le serveur peuvent à la fois send()
et recv()
octets quand ils le souhaitent, et il n'y a aucune restriction sur les données.
Tout ordinateur peut être un serveur. Vous pourriez avoir un ordinateur portable 386 en tant que serveur et une toute nouvelle machine à double rack Xeon en tant que client.
- 1. Restriction des Web Sockets au réseau LAN
- 2. A propos des chaînes
- 3. A propos des méthodes d'extension
- 4. A propos des promotions entières
- 5. A propos des capacités HTML
- 6. A propos des ressources Maven
- 7. Sockets simples ou doubles en programmation réseau
- 8. A propos des tableaux et des pointeurs
- 9. Tuyauterie des données entre deux sockets réseau sous Windows
- 10. Comment créer des sockets réseau persistants sous Unix dans Ruby?
- 11. A propos de la façon dont nginx gère les sockets d'écoute
- 12. A propos de PostgreSQL
- 13. A propos .sqliterc
- 14. A propos des identifiants en XML
- 15. A propos des messages de UITapGestureRecognizer
- 16. A propos des conditions if session = x
- 17. A propos des délégués en C++
- 18. A propos des modèles de filetage appartement
- 19. A propos des fonctions de hachage
- 20. Est-ce dangereux? A propos des événements
- 21. A propos de l'héritage et des constructeurs
- 22. A propos des messages string dans AS3
- 23. A propos du développement des applications iPad
- 24. A propos des paramètres de l'application
- 25. A propos des cadres en php
- 26. A propos de sfWidgetFormInputFileEditable
- 27. A propos de doublyLinkedList
- 28. A propos MKMapView
- 29. A propos permettent
- 30. A propos dequeueReusableCellWithIdentifier:
Le serveur est une entité (hw ou sw) qui expose un service. Le client est l'entité correspondante qui demande ce service. Une machine avec une demande d'acceptation de socket est un serveur. Une machine envoyant une requête à cette socket est un client. C'est tout. –