Émetteur-récepteur UDP basé sur NIO
entrer:
【】 indique des fonctions optionnelles et ne peut pas être utilisé
Sortir:
Ajoutez le code suivant à votre projet app/build.gradle
dependencies {
...
compile 'com.jwkj:udpsender:v2.0.2'
}
UDPSender . getInstance ()
. setInstructions ( byteAraary )
. setTargetPort ( port )
. start ( new UDPResultCallback () {
@ Override
public void onNext ( UDPResult result ) {
//do something
}
});
UDPSender . getInstance ()
. setInstructions ( byteAraary ) //设置发送的指令[可为空]
. setReceiveTimeOut ( 70 * 1000 ) //设置接收超时时间[可不写,默认为60s]--超时70s就停止任务
. setTargetPort ( port ) //设置发送的端口[必写]
. setLocalReceivePort ( port ) //设置本机接收的端口[可不写,默认为目标端口]
. setTargetIp ( "192.168.1.150" ) //设置目标ip地址,[可不写,默认广播]
. schedule ( 2 , 3000 ) //执行2次,间隔三秒执行(上一次结束到下一次开始的时间)
. start ( new UDPResultCallback () {
@ Override
public void onStart () {
//请求开始的时候回调
}
@ Override
public void onNext ( UDPResult result ) {
//每收到一个结果的时候就回调
}
@ Override
public void onCompleted () {
//请求结束的时候回调
}
@ Override
public void onError ( Throwable throwable ) {
//当发生错误的时候回调
}
});
UDPSender . getInstance ()
. setLocalReceivePort ( 9988 ) //接收端口
. start ( new UDPResultCallback () {
@ Override
public void onStart () {
ELog . hdl ( "开始了" );
}
@ Override
public void onNext ( UDPResult result ) {
ELog . hdl ( "收到结果" + result );
}
@ Override
public void onError ( Throwable throwable ) {
ELog . hdl ( "出错" + throwable );
}
@ Override
public void onCompleted () {
ELog . hdl ( "完成" );
}
});
UDPSender . getInstance (). stop ();
public class UDPResult {
/**
* 对方ip地址
*/
private String ip ;
/**
* 对方返回的结果
*/
private byte [] resultData ;
}
v2.0.2 (2017.10.27)
v2.0.1
Rappel chaleureux : il n'est pas recommandé d'utiliser la version v1.X. Il est recommandé d'utiliser la dernière version. La méthode d'utilisation reste inchangée.
v1.4.0
[Nouveau] Lors de la spécification d'une IP, le package ne sera envoyé qu'une seule fois par défaut (si vous devez l'envoyer plusieurs fois, vous pouvez le spécifier via la méthode de planification)
[bug] Seul l'expéditeur peut spécifier le port, bug, ne pas utiliser cette version
v1.3.9
[Correctif] L'arrêt soudain lors de l'appel d'une tâche planifiée entraîne l'arrêt immédiat de la tâche en cours lors du prochain redémarrage de la tâche.
[bug] Seul l'expéditeur peut spécifier le port, bug, ne pas utiliser cette version
v1.3.8
【Réparer】 Correction d'un crash dans des circonstances particulières
[bug] Seul l'expéditeur peut spécifier le port, bug, ne pas utiliser cette version
v1.3.7
[Correctif] Fermez automatiquement les interfaces associées à la fin de la tâche
[bug] Seul l'expéditeur peut spécifier le port, bug, ne pas utiliser cette version
v1.3.6
[Fix] Appeler la méthode onCompleted plusieurs fois
[bug] Seul l'expéditeur peut spécifier le port, bug, ne pas utiliser cette version
v1.3.5
[Fix] La fermeture de la tâche (UDPSender.getInstance().stop()) n'utilise pas la méthode onCompleted
[Nouveau] Définir la méthode IP cible (formulaire de diffusion par défaut)
[bug] Seul l'expéditeur peut spécifier le port, bug, ne pas utiliser cette version
Des versions plus historiques n'ont pas encore été enregistrées