我一直在为vpn 编辑androids toyvpn示例项目,我为我的示例应用程序得到了这个
我知道我的代码有一些错误/缺失,因为当我通过android设置手动设置vpn时,有数据包接收这就是为什么我一直在搜索如何接收数据包,我不知道如何让这个工作.
这是我的源代码,VCL扩展了VpnService
import android.app.PendingIntent;
import android.net.VpnService;
import android.os.ParcelFileDescriptor;
import android.util.Log;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.DatagramChannel;
/**
* Created by Jameshwart Lopez on 8/18/15.
*/
public class VCL extends VpnService {
private static final String TAG = "VpnClientLibrary";
private Thread mThread;
private ParcelFileDescriptor mInterface;
private String mServerAddress;
private String mServerPort;
private PendingIntent mConfigureIntent;
private String mParameters;
//a. Configure a builder for the interface.
Builder builder = new Builder();
public void …Run Code Online (Sandbox Code Playgroud) 我正在使用AWS JSONObject类.假设我JSONObject像这样定义一个对象:
JSONObject obj = new JSONObject();
obj.put("Field1": 35);
JSONObject nestedObj = new JSONObject();
nestedObj.put("Name1":"value1");
nestedObj.put("Name2":42);
obj.put("Field2": nestedObj);
Run Code Online (Sandbox Code Playgroud)
所以JSONObject看起来像:
{"Field1": 35,
"Field2": {"Name1": "value1",
"Name2": 42}
}
Run Code Online (Sandbox Code Playgroud)
我想采取这种方式JSONObject,并以某种方式将其转换为字节数组:
byte[] objAsBytes = convertToBytes(obj);
Run Code Online (Sandbox Code Playgroud)
哪个convertToBytes是正确执行此操作的函数.然后我想采用这个字节数组并将其转换回原始数据,JSONObject因此它仍保留其原始结构.
有谁知道如何做到这一点?我想这样做是因为我使用的是Amazon Kinesis,更具体地说是PutRecordAPI,并且PutRecordRequest要求数据是a ByteBuffer,所以我需要将其转换JSONObject为字节数组,然后将字节数组包装为ByteBuffer.然后,当我检索记录时,我需要将其转换ByteBuffer为字节数组,然后获取原始的JSONObject.
有谁知道除了com.idataconnect.lib.ascii85codec java 项目之外的其他类似org.apache.commons.codec.binary.Base64类的项目吗?