Java 使用八位字节流读取NanoHttpd post中的字节
我在Android中使用Nanohttpd创建一个应用程序,从同一应用程序的其他实例接收字节。在我的例子中,我的应用程序正常工作并将数据发送到web服务,但是当我尝试在这个应用程序的两个实例之间发送数据时,当我调试时,我看到了奇怪的字节,例如垃圾或不同的编码。我尝试使用NanoHttpd的InputStream 我的代码使用java代码发送数据:Java 使用八位字节流读取NanoHttpd post中的字节,java,android,inputstream,datainputstream,nanohttpd,Java,Android,Inputstream,Datainputstream,Nanohttpd,我在Android中使用Nanohttpd创建一个应用程序,从同一应用程序的其他实例接收字节。在我的例子中,我的应用程序正常工作并将数据发送到web服务,但是当我尝试在这个应用程序的两个实例之间发送数据时,当我调试时,我看到了奇怪的字节,例如垃圾或不同的编码。我尝试使用NanoHttpd的InputStream 我的代码使用java代码发送数据: public class MainTest { public static void main(String[] args) {
public class MainTest {
public static void main(String[] args) {
try {
URL url = new URL("http://192.168.0.215:8080");
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
httpConnection.setUseCaches(false);
httpConnection.setDoInput(true);
httpConnection.setDoOutput(true);
httpConnection.setChunkedStreamingMode(4096);
httpConnection.setConnectTimeout(1000 * 5);
httpConnection.setReadTimeout(1000 * 5);
httpConnection.setRequestMethod("POST");
httpConnection.addRequestProperty("Content-Type", "application/octet-stream");
httpConnection.addRequestProperty("Transfer-Encoding", "chunked");
httpConnection.addRequestProperty("Connection", "close");
OutputStream out = httpConnection.getOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(out);
dataOutputStream.writeInt(37);
dataOutputStream.close();
httpConnection.getResponseMessage();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在Android中,我想从上一个代码中读取字节,我的代码是:
@Override
public Response serve(IHTTPSession session) {
Method method = session.getMethod();
try {
if (Method.POST.equals(method)) {
DataInputStream in = new DataInputStream(session.getInputStream());
int value = in.readInt();
Log.d("nextValue: ", value); // expected 37
} else {
return executeGet(session);
}
} catch (Exception ex) {
return newFixedLengthResponse(Response.Status.INTERNAL_ERROR, NanoHTTPD.MIME_PLAINTEXT,
"SERVER MOBILE INTERNAL ERROR: : " + ex.getMessage());
}
}
我需要使用主java示例发送字节,有时我需要编写EUTF等,因为我有一个应用程序也可以这样工作