我正在为sipp命令行程序编写Java接口。我当前的代码是:
ProcessBuilder builder = new ProcessBuilder("sipp", "-sn uac",
"127.0.0.1");
Map<String, String> environment = builder.environment();
Process javap = builder.start();
InputStreamReader tempReader = new InputStreamReader(new BufferedInputStream(javap.getInputStream()));
BufferedReader reader = new BufferedReader(tempReader);
while (true){
String line = reader.readLine();
if (line == null)
break;
System.out.println(line);
}
我认为这不起作用,我已经设置了Sipp环境变量,所以这不是问题。标准输出是sipp的帮助消息。我究竟做错了什么?我也想知道,一旦我运行了Sipp,是否可以将参数传递给与其关联的processBuilder对象,以便更改呼叫率?也就是说,sipp允许用户通过按+,-,*来更改通话费率吗?
最佳答案
尝试分解-sn
和uac
参数:
ProcessBuilder builder = new ProcessBuilder("sipp", "-sn", "uac", "127.0.0.1");
我也想知道
sipp运行是否可以通过
processBuilder对象的参数
与之关联,因此我可以更改
通话费?
如果
sipp
期望从标准输入中输入,则您应该能够获取到该进程的输出流(javap.getOutputStream()
)并向该进程写入命令。但是,我对sipp
一无所知以告诉您它是否是这样工作的。