从java运行sipp

时间:2011-03-23 18:42:58

标签: java

我正在为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让用户通过按+, - 来改变通话率,*,这可能吗?

1 个答案:

答案 0 :(得分:1)

尝试分解-snuac参数:

ProcessBuilder builder = new ProcessBuilder("sipp", "-sn", "uac", "127.0.0.1");
  

我也想知道   sipp运行是否可以通过   processBuilder对象的参数   与之相关,所以我可以改变   通话费率?

如果sipp期望从标准输入中输入,您应该能够获取进程的输出流(javap.getOutputStream())并向其写入命令。我对sipp一无所知,告诉你这是否有效。