ASocket은 TCP 긴 연결과 UDP 유니캐스트, 멀티캐스트, 브로드캐스트 및 기타 관련 통신을 촉진하고 신속하게 구현하는 TCP/UDP 프로토콜 캡슐화 라이브러리입니다.
ASocket을 통해 TCP/UDP 관련 소켓을 통합 관리하여 Android에 적합하게 만들고, UI 메인 스레드에서 호출 및 콜백하고, 하위 스레드에서 메시지 송수신을 비동기적으로 처리합니다.
데모 앱을 직접 다운로드하여 효과를 경험할 수도 있습니다.
프로젝트의 build.gradle 또는 settings.gradle 에 원격 저장소를 추가합니다.
repositories {
// ...
mavenCentral()
}
모듈의 build.gradle 에 가져온 종속성을 추가합니다.
implementation ' com.github.jenly1314:asocket:1.0.0 '
멀티캐스트 주소는 구체적이며 클래스 D 주소는 멀티캐스트에 사용됩니다. 클래스 D IP 주소는 멀티캐스트 IP 주소, 즉 224.0.0.0부터 239.255.255.255 사이의 IP 주소이며 로컬 연결 멀티캐스트 주소, 예약된 멀티캐스트 주소, 관리 권한 멀티캐스트 주소의 세 가지 범주로 구분됩니다. 로컬 멀티캐스트 주소 브로드캐스트 주소 : 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)
TCP클라이언트활동
TCP서버활동
UDP클라이언트 활동
UDP서버활동
UDP멀티캐스트활동
자세한 사용법은 데모의 소스 코드 사용 예를 보거나 API 도움말 문서를 직접 확인하세요.
ASocket이 마음에 드시거나 ASocket이 도움이 되었다고 생각하시면 오른쪽 상단에 있는 "별표"를 클릭하여 지원하실 수 있습니다. 감사합니다.
아래 QR코드를 스캔하시면 작가님에게 커피 한 잔을 사드릴 수도 있습니다☺
내 블로그 | GitHub | 기티 | CSDN | 블로그 가든 |
---|---|---|---|---|
젠리의 블로그 | 젠리1314 | 젠리1314 | 젠리121 | 젤리 |
위챗 공개 계정 | 지메일 | QQ 사서함 | QQ 그룹 | QQ 그룹 |
---|---|---|---|---|
젠리666 | 젠리1314 | 젠리1314 | 20867961 | 64020761 |