我正在为特殊的android设备开发应用程序,该设备同时具有以太网和wifi连接。我使用wifi进行Internet连接,将ethernet用于服务器本地连接。我可以通过TCP或Web服务(使用Google Volley库)连接到本地服务器。我的问题是默认情况下所有连接请求都通过wifi,所以我无法将请求发送到本地服务器。如何强制Android通过以太网连接发送请求?我不想失去我的wifi连接。
ps,我可以使用Termux ping我的本地服务器,因此android设备和服务器已成功连接。
编辑: 这是连接本地服务器的代码:
public void fetchdata() {
RequestQueue queue = Volley.newRequestQueue(this);
StringRequest getRequest = new StringRequest(Request.Method.POST, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
....
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
....
}
}
) {
@Override
public String getBodyContentType() {
return "application/octet-stream; charset=utf-8";
}
@Override
public byte[] getBody() throws AuthFailureError {
return requestBody == null ? null : requestBody.getBytes(StandardCharsets.UTF_8);
}
};
queue.add(getRequest);
}