站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2EE 专题请进来看一下,给个思路。

请进来看一下,给个思路。

摘要: 请进来看一下,给个思路。



public String getResult(){

String result;

process =runtime.exec(cmd)
is = process.getInputStream();
isr=new InputStreamReader(is);
br =new BufferedReader(isr);

while( (line = br.readLine()) != null )
{
此处通过setLineToResult方法将line的值赋给result.
}
.......
.......
return result;
服务器端
----------------------------------------------------------------
客户端

通过RMI调用该方法,可以得到命令执行后的结果。但却不能同步
的得到结果,请问有什么方法可以在客户端同步得到命令执行的结果?

----------------------------------------------------------------
JDK1.4.1




你的“不能同步得到结果”具体是什么情况?
RMI说到底是socket,除非你设置延迟(RMI中socket client、socket server都是自动生成的,不会给你搞一个延迟进去),否则怎么会不同步?


楼上正解


哦 明白了


我没说清楚,其实我是想这样做:
1.服务器端的程序完成命令调用。
2.客户端的程序(jsp)实时的取得命令产生的结果,而
不是等服务器端的命令结束后才返回结果,列如调用PING命令,
Reply from 202.103.24.116: bytes=32 time<10ms TTL=252
Reply from 202.103.24.116: bytes=32 time<10ms TTL=252。
产生一条输出就向客户端发送一条输出。
3.将客户端得到的输出在网页上格式化打印,或做其它处理。



哦 我明白你的意思了

我以前也想写类似这样的东西

可是在启动process进程时,线程就堵塞了

个人能力而言,没写出这样的东西

不过我可以用其他语言实现

如果 谁可以写出这样的东西 希望可以加我QQ 以后交流~

330589751


mark!


为什么要做成这样?这个方法设计成这样与你的需求有差距,如果你采用rmi那么是不是调用的次数越少越好,直接把result升级成StringBuffer然后按约定切割可以不。如果非要按行返回。你可以指定一个行号。


↑返回目录
前一篇: 高分求助!不看不知道,一看吓一跳!!
后一篇: jms可以部署在两台计算机上吗?