ตัวรับส่ง UDP ที่ใช้ NIO
เข้า:
【】หมายถึงฟังก์ชันเสริมและไม่สามารถใช้งานได้
เอาท์พุท:
เพิ่มโค้ดต่อไปนี้ลงในโปรเจ็กต์ 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 ;
}
เวอร์ชัน 2.0.2 (2017.10.27)
เวอร์ชัน 2.0.1
คำเตือนที่อบอุ่น: ไม่แนะนำให้ใช้เวอร์ชัน v1.X ขอแนะนำให้ใช้เวอร์ชันล่าสุด
เวอร์ชัน 1.4.0
[ใหม่] เมื่อระบุ IP แพ็คเกจจะถูกส่งเพียงครั้งเดียวตามค่าเริ่มต้น (หากต้องการส่งหลายครั้งสามารถระบุได้ด้วยวิธีกำหนดเวลา)
[bug] เฉพาะผู้ส่งเท่านั้นที่สามารถระบุพอร์ตได้ ห้ามใช้เวอร์ชันนี้
เวอร์ชัน 1.3.9
[แก้ไข] การหยุดกะทันหันเมื่อเรียกใช้งานที่กำหนดเวลาไว้จะทำให้งานปัจจุบันหยุดทันทีเมื่อเริ่มงานใหม่ในครั้งถัดไป
[bug] เฉพาะผู้ส่งเท่านั้นที่สามารถระบุพอร์ตได้ ห้ามใช้เวอร์ชันนี้
เวอร์ชัน 1.3.8
【แก้ไข】แก้ไขข้อขัดข้องภายใต้สถานการณ์พิเศษ
[bug] เฉพาะผู้ส่งเท่านั้นที่สามารถระบุพอร์ตได้ ห้ามใช้เวอร์ชันนี้
เวอร์ชัน 1.3.7
[แก้ไข] ปิดอินเทอร์เฟซที่เกี่ยวข้องโดยอัตโนมัติเมื่องานสิ้นสุดลง
[bug] เฉพาะผู้ส่งเท่านั้นที่สามารถระบุพอร์ตได้ ห้ามใช้เวอร์ชันนี้
เวอร์ชัน 1.3.6
[แก้ไข] เรียกใช้วิธีการเสร็จสมบูรณ์หลายครั้ง
[bug] เฉพาะผู้ส่งเท่านั้นที่สามารถระบุพอร์ตได้ ห้ามใช้เวอร์ชันนี้
เวอร์ชัน 1.3.5
[แก้ไข] การปิดงาน (UDPSender.getInstance().stop()) ไม่ได้ใช้วิธีการ onCompleted
[ใหม่] ตั้งค่าวิธี IP เป้าหมาย (แบบฟอร์มการออกอากาศเริ่มต้น)
[bug] เฉพาะผู้ส่งเท่านั้นที่สามารถระบุพอร์ตได้ ห้ามใช้เวอร์ชันนี้
ยังไม่ได้บันทึกเวอร์ชันทางประวัติศาสตร์เพิ่มเติม