android http 慢,android httpurlconnection數據連接速度慢
我在下面幾行中使用了一些東西:在一行中做一個3個HTTP請求(一個接一個),然後等待一個給定的時間,然後再循環做3個HTTP請求。
我正在使用keep-alive,它基本上也正常工作,但在第一個HTTP請求上,每次我從3 HTTP請求開始時都會有2秒的懲罰。只有第一個HTTP請求有這2秒的懲罰。如果我將連續HTTP請求之間的等待時間降低到200毫秒,所有請求都很快,而沒有第一個請求看到這2秒的懲罰。
顯然這聽起來像第一個請求可能不使用保持連接,但事實並非如此。我在服務器上運行tcpdump,並且可以清楚地看到所有請求都使用相同的TCP連接而不關閉,並再次建立新的連接。服務器上的保持活動狀態設置爲60秒,而等待應用程序的時間爲5秒。另外,當我切換到WIFI這種行爲,我看不到。與此同時等待所有請求都很快。
在HTTP連接的代碼是使用HttpURLConnection類和如下所示:
m_res.error = null;
HttpURLConnection connection;
try {
connection = (HttpURLConnection)(new URL(m_url + "/" + m_call.command).openConnection());
connection.setDoOutput(true); // triggers POST.
connection.setDoInput(true);
connection.setRequestProperty("Accept-Charset", m_charset);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + m_charset);
connection.setRequestProperty("Connection", "Keep-Alive");
connection.setRequestProperty("Accept-Encoding", "gzip");
//connection.setChunkedStreamingMode(0);
OutputStream output = null;
try {
output = connection.getOutputStream();
output.write(m_call.query_string.getBytes(m_charset));
InputStream response = null;
try {
response = connection.getInputStream();
if ("gzip".equals(connection.getContentEncoding())) {
response = new GZIPInputStream(response);
}
}
catch (IOException e) {
response = connection.getErrorStream();
}
if (response == null) {
m_res.error = "Connection Error";
}
else {
m_res.body = getAsString(response);
m_res.status = connection.getResponseCode();
}
}
catch (IOException e) {
e.printStackTrace();
m_res.error = "Connection Error";
}
finally {
if (output != null)
try {
output.close();
} catch (IOException logOrIgnore) {}
}
}
}
2012-08-23
domcyrus
+0
和您的問題是... –
+0
爲什麼數據連接上的第一個http請求如此緩慢? –
android http 慢,android httpurlconnection數據連接速度慢相关推荐
- Inno Setup 打包安裝判斷是否安裝.net freamework 3.5 和 access2007的數據連接
[code] //安裝前方法 function InitializeSetup: Boolean;var Path:string ;ResultCode: Integer;beginif RegKey ...
- struts數據庫訪問
來源:http://big5.webasp.net/article/18/17813.htm Struts HOW-TO 系列 ++怎樣訪問數據庫++ [訪問一個數據庫] 在一個其於Struts的應用 ...
- FMDB與SQLite 數據庫應用示範:打做一隻簡單的電影資料庫 App
原文:http://www.appcoda.com/fmdb-sqlite-database/ 作者:GABRIEL THEODOROPOULOS 譯者:kmyhy 通常在 App 中使用數據庫并處理 ...
- android 索引怎么使用情况,android 數據庫查詢中使用索引-大幅提高數據庫操作速度...
參考: http://blog.csdn.net/dongyuxi1987/article/details/8239739 1.數據庫索引簡介 回憶一下小時候查字典的步驟,索引和字典目錄的概念是一致的 ...
- jpa oracle mysql,JPA-Oracle-Mysql連接數據庫配置
//...省略datasouce class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" ...
- mysql使用从c3p0_使用c3p0連接池操作mysql數據庫中文亂碼解決辦法
今天在一台新的CentOS機器上使用c3p0連接池操作mysql數據庫出現中文亂碼問題,具體表現為:查詢時無中文亂碼問題,寫數據時中文亂碼,查看了機器上數據庫字符集也是UTF8,應該不會出現中文亂碼才 ...
- rodbc 连接oracle,R語言 使用RODBC連接oracle數據庫
使用R語言有多種包可以連接oracle數據庫,我今天在這里講一下使用使用RODBC連接oracle數據庫. 1. 如果你的本地是windows系統的話,你需要安裝oracle客戶端. 2. 然后需要在 ...
- python3.5 连接mysql_python3.5 連接mysql本地數據庫
前期准備工作: 安裝python的模塊,網上大部分讓安裝mysqldb模塊,但是會報錯,原因是python3.5不被其支持: 請看該鏈接 我們也可以這樣解決: 直接執行:sudo pip3 insta ...
- ttbf 慢 php,連接數據庫不同方式會影響TTBF快慢
正在研究php框架,突然發現一個奇特的問題:框架中php代碼連接數據庫使用PDO和mysqli,盡然會導致頁面加載速度上產生很大的差距.一開始還以為是框架本身造成的這種現象,所以在本地寫了一個基礎的測 ...
最新文章
- Swift 字典转数组
- 一点一滴培养你的领袖气质
- 1022: [SHOI2008]小约翰的游戏John【Nim博弈,新生必做的水题】
- <table/>设置列宽度无效的问题
- nsq php,NSQ 最佳实践
- 新生儿肺炎也许不发烧咳嗽
- Golang 入门 : Go语言介绍
- Linux系统管理---linux计划任务和日志的管理
- scanf指定分隔符号
- 荣耀热键驱动无法安装
- easyexcel 检查表头是否匹配_利用easyexcel生成excel文件-自定义表头与数据栏对应的处理方式...
- RHCE 22个考点
- call指令和ret指令【笔记+详解】
- 什么是java实例化_JAVA实例化是什么意思?
- 中文NER任务简析与深度算法模型总结和实战展示
- 搜索:搜索+优先队列
- OpenKruise原理介绍和安装
- iPhone又被拼多多砍了,错过一天等一年?网友:别急,天天双11
- Matlab一句话画三维应力云图
- 阿宽食品:“方便食品第一股”争夺战继续
热门文章
- 【mac】Mac 安装 RabbitMQ
- 【Clickhouse】Clickhouse Cannot create table with column ‘Int256‘ because experimental bigint types
- Spring: Bean 注册 - BeanDefinitionRegistry
- gradle下载的依赖包位置
- Drools 6.5 :入门程序
- 计算机大学生学生证,电子学生证运行一月争议多:学生感觉被监控
- 复盘SpringBoot中定时任务和异步线程池
- 二进制十六进制相互转换
- deepin中自定义安装的软件如何加入到启动器
- pytorch,cuda8,torch.cuda.is_available return flase (ubuntu14)