J'ai 2 PC Windows connectés sur un réseau WLAN ad-hoc.
En utilisant cette connexion existante puis-je communiquer entre ces pc via des sockets?
Puis-je ouvrir une socket serveur sur un PC et faire de l'autre PC un client et me connecter à l'autre pc puis envoyer et recevoir des données via cette connexion?
Ai-je besoin d'une API spécifique pour cela ou puis-je simplement utiliser java.net.Socket
et java.net.ServerSocket
?Java Sockets sur WLAN?
Répondre
Bien sûr, vous pouvez. Il y a un réseau IP sur la connexion WLAN, et rien ne vous empêche d'établir une connexion TCP.
En ce qui concerne les prises sont c'est pas différent à une connexion filaire (Ethernet), la différence se termine à Data-Link layer
Bien sûr, vous pouvez utiliser (Server) Sockets. Les sockets sont un concept du protocole TCP (couche OSI 4), qui fonctionne au-dessus du protocole IP (couche OSI 3), qui fonctionne elle-même sur WLAN ou Ethernet (couche OSI 2), qui fonctionne sur un lien physique (ondes radio pour WLAN, câbles ethernet pour ethernet).
Les implémentations des couches OSI sont remplaçables (ou mieux: doivent être remplaçables). Cela n'a donc pas d'importance si vous utilisez WLAN, Ethernet ou autre chose, tant que vous ne passez pas en dessous de la couche 3 (ce qui n'est pas possible avec Java de toute façon).
Jetez un oeil à la Wikipedia article pour plus d'informations
- 1. HTTPS requis sur WLAN?
- 2. Informations WLAN en mono sur Linux
- 3. java Sockets numéro
- 4. Sockets Java et tuning TCP
- 5. Sockets Java et connexions supprimées
- 6. Java Sockets: InputStream.read() vs BufferedReader.read()
- 7. Question avec l'envoi de l'objet sur les sockets java
- 8. Envoi de grandes données sur des sockets en Java
- 9. Raw Sockets sur Android
- 10. Windows Mobile pour imprimante Zebra sur WLAN (ad hoc)
- 11. Comment tester les applications web gratuitement sur mobile sans wlan?
- 12. Sockets Java avec exécution de threads
- 13. Java, sockets, BufferedReader, et readline hang ... :(
- 14. Nombre maximal de sockets dans java
- 15. AudioStreaming sur Sockets dans android
- 16. mesurer WLAN en utilisant python pour S60
- 17. PHP Sockets ou Python, Perl, Bash Sockets?
- 18. Bonne introduction à la programmation des sockets TCP en Java?
- 19. Comment implémenter le transfert de fichiers avec des sockets Java?
- 20. Comment surveiller l'activité Sockets sur un ordinateur?
- 21. envoie des structs sur les sockets
- 22. Mappage efficace des utilisateurs sur les sockets
- 23. Android: Streaming audio sur Sockets TCP
- 24. Comportement bizarre avec sockets sur localhost
- 25. Les blocs feof sur les sockets
- 26. Questions sur les sockets en PHP?
- 27. Problème de transmission du caractère nul sur les sockets
- 28. Sockets & Windows Service
- 29. HTTP 1.1 Connexions persistantes utilisant des sockets en Java
- 30. Problème avec Java Sockets (dans le jeu tactique)
Merci à Efraim et vous pour le lien, que je déplace la couche OSI je vois que la couche 7 a le HTTP à la couche d'application, il est une demande/réponse protocole n'est-ce pas? Maintenant, existe-t-il une sorte de protocole push à ce niveau supérieur ou dois-je vivre avec des sockets de bas niveau pour le moment? –
Java lui-même n'a qu'un support limité pour les protocoles de niveau 7. HTTP est seulement le plus commun et est supporté par Java directement. Java prend en charge RMI, HTTP, FTP et JMX (peut être incomplet). Il existe des API qui prennent en charge d'autres protocoles, tels que les structures XMPP ou de sérialisation, comme les tampons de protocole Google. Un bon point de départ est Apache MINA ou JBoss Netty. Ce sont des frameworks de réseau et certains projets s'appuient dessus (comme Vysper comme serveur XMPP). – Hardcoded