TA的每日心情 | 郁闷 2015-4-28 18:08 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
public SampleResult runTest(JavaSamplerContext arg0) {
// TODO Auto-generated method stub
//获取sessionId事务
//results.sampleStart();
//results.sampleEnd();
SampleResult results=new SampleResult();
try {
//建立socket连接
socket=new Socket(cmhost,cmport);
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
DataOutputStream dos=new DataOutputStream(socket.getOutputStream());
//向CM请求sessionId
dos.write(HostConvertToNet.intToByte(56));
dos.write(HostConvertToNet.intToByte(5));
dos.writeBytes(fetchSesssionIdStr);
dos.flush();
System.out.println("发送fetchsessionId的请求完毕");
//读取服务器响应并获取sessionId
char[] chars=new char[60];
StringBuffer stringBuffer=new StringBuffer();
// System.out.println(chars.length);的返回值为60
if (br.read(chars)!=40) {
results.setSuccessful(false);
results.setResponseCode("201");
} else {
results.setSuccessful(true);
results.setResponseCode("200");
sessionId=stringBuffer.append(chars).toString().substring(21, 40);
//发送login时的stream信息
dos.write(HostConvertToNet.intToByte(198));
dos.write(HostConvertToNet.intToByte(1));
dos.writeBytes(sessionId);
dos.writeBytes(loginStreamStr);
dos.writeBytes(sessionId);
dos.writeBytes("\">");
dos.flush();
System.out.println("发送stream信息请求完毕");
//发送login时的auth信息
dos.write(HostConvertToNet.intToByte(139));
dos.write(HostConvertToNet.intToByte(1));
dos.writeBytes(sessionId);
dos.writeBytes(loginAuthStr);
dos.flush();
System.out.println("发送auth请求完毕");
//发送login时的presence信息
dos.write(HostConvertToNet.intToByte(51));
dos.write(HostConvertToNet.intToByte(1));
dos.writeBytes(sessionId);
dos.writeBytes(loginPreStr);
dos.flush();
System.out.println("发送pre信息完毕");
//发送chatMsg
for (int i = 0; i < msgcount; i++) {
results.sampleStart();
dos.write(HostConvertToNet.intToByte(304));
dos.write(HostConvertToNet.intToByte(3));
dos.writeBytes(sessionId);
dos.writeBytes(chatMsgStr);
dos.flush();
results.sampleEnd();
Thread.sleep(1000);
}
System.out.println("发送chatMsg完毕");
}
dos.close();
br.close();
socket.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return results;
} 看下我的代码 |
|