相关疑难解决方法(0)

如何限制Java中的带宽?

我写了一个Java调度程序,每小时使用:

new SAXBuilder().build(new URL(xxx));
Run Code Online (Sandbox Code Playgroud)

要么

HttpConnection.connect(new URL(xxx)); // jsoup library code
Run Code Online (Sandbox Code Playgroud)

获取一个大的XML/HTML文件.

我的服务器最大带宽限制是2Mbits.

当这个Java调度代码运行时,我使用超过2Mbits的带宽.(看看)

因此,每次用户访问我的服务器时,它都太慢了.

如何限制Java计划使用较低的带宽?(例如500Kbits)

我正在使用Ubuntu服务器.

java

9
推荐指数
2
解决办法
2万
查看次数

如何在 Java HttpURLConnection 中禁用多部分表单发布的缓冲?

(这是一个签名的小程序,我决定不使用 HTTPClient 以保持我的 jar 非常小)

我正在使用 HttpURLConnection 使用多部分表单发布成功将文件从用户上传到服务器。

问题在于 HttpURLConnection 在发送数据之前会缓存数据。因此,当我从文件中读取数据并写入 Outputstream 时,它只是缓冲数据 - 因此显示上传状态的进度条是完全错误的。但请注意,表单邮政代码有效,并且文件确实已正确上传,返回代码为 200。

那么如何确保 HttpURLConnection 不会缓存我发送到服务器的数据?

这是我的来源:

public UploadResponse send(String formPostUrlStr,String fileFieldName,File targetFile, Map<String, String> valuesMap, UploadStatusListener uploadStatusListener) throws Exception{


    String sendStr=getBoundaryMessage(Boundary,  valuesMap, fileFieldName, targetFile.getName(), valuesMap.get("content-type") );//"image/png") ;

    System.out.println(" multi-part start \n "+ sendStr+ " multi-part end \n");

    String lenstr=Long.toString((long)(sendStr.length()*2)+ targetFile.length());
    System.out.println("Content-Length"+ lenstr);
                        //Content-Length

    URL url= new URL(formPostUrlStr);
    long startTime= System.currentTimeMillis();
    HttpURLConnection s3Connection = (HttpURLConnection) url.openConnection();

    System.out.println("opened url to "+ formPostUrlStr +", connection ok ..");
    s3Connection.setRequestProperty("Content-Type", "multipart/form-data; …
Run Code Online (Sandbox Code Playgroud)

java form-post httpurlconnection

5
推荐指数
1
解决办法
2429
查看次数

标签 统计

java ×2

form-post ×1

httpurlconnection ×1