ASocket — это библиотека инкапсуляции протоколов TCP/UDP, которая упрощает и быстро реализует длинные соединения TCP, а также одноадресную, многоадресную, широковещательную и другие связанные коммуникации UDP.
Унифицированное управление сокетами, связанными с TCP/UDP, через ASocket, что делает его подходящим для Android, вызывает и выполняет обратный вызов в основном потоке пользовательского интерфейса, а также асинхронно обрабатывает отправку и получение сообщений в подпотоке.
Вы также можете напрямую загрузить демо-приложение, чтобы ощутить эффект.
Добавьте удаленный репозиторий в build.gradle или Setting.gradle проекта.
repositories {
// ...
mavenCentral()
}
Добавьте импортированные зависимости в build.gradle модуля.
implementation ' com.github.jenly1314:asocket:1.0.0 '
Адреса многоадресной рассылки специфичны, и для многоадресной рассылки используются адреса класса D. IP-адреса класса D — это IP-адреса многоадресной рассылки, то есть IP-адреса между 224.0.0.0 и 239.255.255.255, которые делятся на три категории: адреса многоадресной рассылки локального подключения, зарезервированные адреса многоадресной рассылки и адреса многоадресной рассылки с правами управления: Локальные адреса многоадресной рассылки Широковещательный адрес : между 224.0.0.0 и 224.0.0.255. Это адрес, зарезервированный для протоколов маршрутизации и других целей. Маршрутизатор не пересылает IP-пакеты, принадлежащие этому диапазону. Зарезервированный адрес многоадресной рассылки: от 224.0.1.0 до 238.255.255.255, который может использоваться глобально (например, в Интернете) или в сетевых протоколах. Адрес многоадресной рассылки с разрешением на управление: от 239.0.0.0 до 239.255.255.255, который можно использовать внутри организации. Он аналогичен частному IP-адресу и не может использоваться в Интернете. Диапазон многоадресной рассылки может быть ограничен.
//初始化一个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)
TCPClientActivity
TCPServerActivity
UDPClientActivity
UDPServerActivity
UDPMulticastActivity
Для получения более подробной информации об использовании просмотрите примеры использования исходного кода в демо-версии или непосредственно просмотрите справочную документацию API.
Если вам нравится ASocket или вы чувствуете, что ASocket вам помог, вы можете нажать «Звездочка» в правом верхнем углу, чтобы поддержать его. Ваша поддержка — моя мотивация, спасибо?
Вы также можете отсканировать QR-код ниже и купить автору чашку кофе☕
мой блог | GitHub | Гите | CSDN | Блог Сад |
---|---|---|---|---|
Блог Дженли | Дженли1314 | Дженли1314 | Дженли121 | желе |
Публичный аккаунт WeChat | Gmail | Почтовый ящик QQ | группа QQ | группа QQ |
---|---|---|---|---|
Дженли666 | Дженли1314 | Дженли1314 | 20867961 | 64020761 |