公司的妹子不会做并发测试。作为一名程序猿看着有点干捉急。并发测试是多个人同时访问一个服务,这不就是多线程吗!于是灵光一现使用多线程来写并发测试代码。想想心理都有点小激动咧。效果比工具还好,废话不多说贴代码
添加Maven依赖
<!--添加OKHttp.jar包-->
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.8.1</version>
</dependency>
<!-- https://mvnrepository.com/art... -->
<dependency>
<groupId>com.squareup.okio</groupId>
<artifactId>okio</artifactId>
<version>1.11.0</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.0</version>
</dependency>
先封装OKHTTP(使用CallBack思想做的封装),这个很早之前就封装了,公司移动端也是使用OKHTTP做的服务请求调用。经常遇到图片上传不了的问题,报的错是Socket连接超时的问题。解决这个问题so easy,把连接时间(KEEP_ALIVE)时间设置长一点就行了嘛!
OkHttp底层是用socket做的通信,现在很多应该的底层通信都用的Socket,例子不多说,全靠经验。
public abstract class HttpCommon {
/**
* 设置连接超时时间为30000秒
*/
private final static int CONNECT_TIMT_OUT = 30000;
/**
* 设置写超时时间为30000秒
*/
private final static int WRITE_TIME_OUT = 30000;
static {
final OkHttpClient.Builder httpBuilder = new OkHttpClient.Builder();
okHttpClient = httpBuilder.connectTimeout(CONNECT_TIMT_OUT, TimeUnit.SECONDS)
.writeTimeout(WRITE_TIME_OUT, TimeUnit.SECONDS).build();
}
public abstract void callBack(String responseString);
/**
* get请求
*
* @param url url地址
* @param map 请求参数
* @return 返回结果。如果为“”表示失败
*/
public void get(String url, Map<Object, Object> map) {
url = wrapUrl(url, map);