完善jni调用

This commit is contained in:
lubeilin
2024-04-07 20:57:10 +08:00
parent a33ffd96fd
commit 28522f2f07
7 changed files with 71 additions and 10 deletions
@@ -8,6 +8,10 @@ import top.wherewego.vnt.jni.param.*;
* @author https://github.com/lbl8603/vnt
*/
public interface CallBack {
/**
* 连接成功的回调
*/
void success();
/**
* 创建虚拟网卡成功的回调方法
*
@@ -90,6 +90,18 @@ public class Config {
* 虚拟网卡fd 仅在android上支持
*/
private int deviceFd;
/**
* enum: relay/p2p/all
*/
private String useChannel;
/**
* 模拟丢包率,取0~1之间的数,为null表示不丢包,1表示全部丢包
*/
private Double packetLossRate;
/**
* 模拟延迟 单位毫秒(ms)
*/
private Integer packetDelay;
public Config() {
}
@@ -261,4 +273,28 @@ public class Config {
public void setDeviceFd(int deviceFd) {
this.deviceFd = deviceFd;
}
public String getUseChannel() {
return useChannel;
}
public void setUseChannel(String useChannel) {
this.useChannel = useChannel;
}
public Double getPacketLossRate() {
return packetLossRate;
}
public void setPacketLossRate(Double packetLossRate) {
this.packetLossRate = packetLossRate;
}
public Integer getPacketDelay() {
return packetDelay;
}
public void setPacketDelay(Integer packetDelay) {
this.packetDelay = packetDelay;
}
}
@@ -1,8 +1,9 @@
package top.wherewego.vnt.jni;
/**
* @author lubeilin
* @date: 2024/02/27 18:31
* ip转换
*
* @author https://github.com/lbl8603/vnt
*/
public class IpUtils {
public static String intToIpAddress(int ipAddress) {
+2 -5
View File
@@ -11,11 +11,8 @@ import java.io.IOException;
public class Vnt implements Closeable {
private final long raw;
public Vnt(Config config, CallBack callBack) {
public Vnt(Config config, CallBack callBack) throws Exception{
this.raw = new0(config, callBack);
if(this.raw == 0){
throw new RuntimeException();
}
}
public void stop() {
@@ -30,7 +27,7 @@ public class Vnt implements Closeable {
return list0(raw);
}
private native long new0(Config config, CallBack callBack);
private native long new0(Config config, CallBack callBack) throws Exception;
private native void stop0(long raw);