ASocket est une bibliothèque d'encapsulation de protocole TCP/UDP qui facilite et implémente rapidement les connexions longues TCP et les communications UDP en monodiffusion, multidiffusion, diffusion et autres communications associées.
Gestion unifiée des Sockets liés à TCP/UDP via ASocket, le rendant adapté à Android, appelant et rappelant dans le thread principal de l'interface utilisateur, et traitant de manière asynchrone l'envoi et la réception de messages dans le sous-thread
Vous pouvez également télécharger directement l'application de démonstration pour découvrir l'effet
Ajoutez un référentiel distant dans build.gradle ou settings.gradle du projet
repositories {
// ...
mavenCentral()
}
Ajouter des dépendances importées dans le build.gradle du module
implementation ' com.github.jenly1314:asocket:1.0.0 '
Les adresses de multidiffusion sont spécifiques et les adresses de classe D sont utilisées pour la multidiffusion. Les adresses IP de classe D sont des adresses IP de multidiffusion, c'est-à-dire des adresses IP comprises entre 224.0.0.0 et 239.255.255.255, et sont divisées en trois catégories : les adresses de multidiffusion de connexion locale, les adresses de multidiffusion réservées et les adresses de multidiffusion avec droits de gestion : Adresses de multidiffusion locales Adresse de diffusion : entre 224.0.0.0 et 224.0.0.255. Il s'agit d'une adresse réservée aux protocoles de routage et à d'autres fins. Le routeur ne transmet pas les paquets IP appartenant à cette plage. Adresse multicast réservée : entre 224.0.1.0 et 238.255.255.255, qui peut être utilisée globalement (comme Internet) ou par protocoles réseau. Adresse multicast d'autorisation de gestion : entre 239.0.0.0 et 239.255.255.255, qui peut être utilisée au sein de l'organisation. Elle est similaire à une adresse IP privée et ne peut pas être utilisée sur Internet.
//初始化一个ISocket的实现类(如:TCPClient、TCPServer、UDPClient、UDPServer、UDPMulticast)
val tcpClient = TCPClient (host,port)
//初始化ASocket
val aSocket = ASocket (tcpClient)
//设置状态监听
aSocket.setOnSocketStateListener( object : ISocket . OnSocketStateListener {
override fun onStarted () {
}
override fun onClosed () {
}
override fun onException ( e : Exception ) {
}
})
//设置接收消息监听
aSocket.setOnMessageReceivedListener { data ->
// TODO 接收消息
}
//启动
aSocket.start()
// ....
//发送消息
aSocket.write(data)
TCPClientActivité
Activité du serveur TCP
UDPClientActivity
Activité du serveur UDP
UDPMulticastActivity
Pour plus de détails sur l'utilisation, veuillez consulter les exemples d'utilisation du code source dans la démo ou consulter directement la documentation d'aide de l'API.
Si vous aimez ASocket, ou pensez qu'ASocket vous a aidé, vous pouvez cliquer sur « Étoile » dans le coin supérieur droit pour le soutenir. Votre soutien est ma motivation, merci ?
Vous pouvez également scanner le code QR ci-dessous et acheter une tasse de café à l'auteur☕
mon blog | GitHub | Gîte | RPSC | Blogue Jardin |
---|---|---|---|---|
Le blog de Jenly | jenly1314 | jenly1314 | jenly121 | gelée |
Compte public WeChat | Gmail | boîte aux lettres QQ | Groupe QQ | Groupe QQ |
---|---|---|---|---|
Jenly666 | jenly1314 | jenly1314 | 20867961 | 64020761 |