UdpNetty
v1.0.4
Netty를 기준으로 UDP 트랜시버 도구가 캡슐화되고 메시지 재판매 설정, 재판소 및 재설정 간격을 지원합니다.
allprojects {
repositories {
.. .
maven { url ' https://jitpack.io ' }
}
} dependencies {
implementation ' com.github.shenbengit:UdpNetty:Tag '
}코드 예제
기본 사용
UdpManager manager = UdpManager . getInstance ();
UdpConfig config = new UdpConfig . Builder ()
. setLoggable ( true ) //是否显示日志
. setResendLimit ( 3 ) //重发次数
. setResendEnable ( true ) //是否启用重发
. setResendInterval ( 3000L ) //重发间隔
. build ();
//初始化配置
manager . init ( config );
//丢弃消息回调
manager . setDiscardMessageCallback ( new DiscardMessageCallback () {
@ Override
public void onDiscardMsg ( MessageBean msg ) {
}
});
//接收消息回调,最好一开始设置,避免发送端异常接收不到
manager . setReceiveMessageCallback ( new ReceiveMessageCallback () {
@ Override
public void onReceiveMsg ( String msg , InetSocketAddress sender ) {
}
@ Override
public void onException ( Exception e ) {
}
});
//仅启用发送消息功能
manager . startClient ();
//仅开启接收消息功能
manager . startServer ( 8888 );
//接收、发送消息都开启
manager . start ( 7777 );
//关闭发送消息
manager . stopClient ();
//关闭接收功能
manager . stopServer ();
//关闭发送端和接收端
manager . stop ();여러 포트를 들어야하는 경우 다음 사용 예제를 참조하십시오.
UdpServer udpServer = new UdpServer ( 7777 , new ReceiveMessageCallback () {
@ Override
public void onReceiveMsg ( String msg , InetSocketAddress sender ) {
}
@ Override
public void onException ( Exception e ) {
}
});
//开启
udpServer . start ();
//关闭
udpServer . stop ();