Socket挡板之Java开发
Posted 51Testing软件测试网
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket挡板之Java开发相关的知识,希望对你有一定的参考价值。
看云层的《性能测试进阶指南II》,看到有一章节是关于挡板测试的,书中的挡板程序是用Python写的,这对于我来说是一个新的语言,我就开始想,能不能用我熟悉的语言实现呢?我就尝试用java语言写了一个关于Socket挡板程序,该程序还用了log4j的日志函数。
简单说一下代码,首先开启一个端口,这里的端口可以自己定义,如果没有定义,就默认23011端口,用LR建立一个socket连接,发送任意数据,挡板程序就会返回固定的报文。
目录树:
SocketService.java源码如下:
public class SocketService {
ServerSocket serverSocket;
int thread=1;
Logger logger = Logger.getLogger(SocketService.class);
public SocketService(){
try {
serverSocket=new ServerSocket(23011,500);
System.out.println("无参数,采用默认端口。端口23011已打开");
while(true){
Socket socket=serverSocket.accept();
SocketAddress clientAdress = socket.getRemoteSocketAddress();//获取连接到服务器的ip
System.out.println("客户端:"+clientAdress);
logger.info("开启线程"+thread);
SocketServiceThread sst=new SocketServiceThread(socket,clientAdress);
sst.start();
thread++;
}
} catch (IOException e) {
e.printStackTrace();
}finally
{
System.out.println("dddddddddddd"+thread);
}
}
public SocketService(int port){
try {
serverSocket=new ServerSocket(port,500);
System.out.println("端口"+port+"已打开");
while(true){
Socket socket=serverSocket.accept();
SocketAddress clientAdress = socket.getRemoteSocketAddress();//获取连接到服务器的ip
System.out.println("客户端:"+clientAdress);
logger.info("开启线程"+thread);
SocketServiceThread sst=new SocketServiceThread(socket,clientAdress);
sst.start();
thread++;
}
} catch (IOException e) {
e.printStackTrace();
}finally
{
System.out.println("dddddddddddd"+thread);
}
}
......
(本文收录于《51测试天地》电子杂志第37期)
猛戳阅读原文,直接在线阅读杂志全部内容
以上是关于Socket挡板之Java开发的主要内容,如果未能解决你的问题,请参考以下文章
Android Framework实战开发-socket跨进程通信之native程序与apk java通信
Android Framework实战开发-socket跨进程通信之native程序与apk java通信
Android Framework实战开发-socket跨进程通信之native程序与apk java通信