Java-java类中,怎么实现触发后台计算?

Java-java类中,怎么实现触发后台计算?

夜无邪 发布于 2017-04-04 字数 606 浏览 1237 回复 2

在做B/S的界面时,一些分析计算函数需要后台的C++代码来实现,所以需要给服务器端发送命令(,好像是字节形式的), 以触发后台计算,请问这个该怎么实现,不知道具体怎么做?
还得有对方的IP和端口号,然后传的时候按字节传,我也不太懂,不知道该怎么操作
我这样写了一下:(因为需要传三个参数,就传了三次)
OutputStream ssss = new socket(“192.12.1.0”,5565).oupputstream;;
byte[] b={aa.tobyte()}
ssss .write(b);
b={bb.tobyte()}
ssss .write(b);
b={cc.tobyte()}
ssss .write(b);

语法没错误,但是也不知道他触发了,不知道这样写行不,是不是有点太简单了??

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泛泛之交 2017-09-21 2 楼

可以通过JNI技术来实现这个功能,java下使用JNI调用C++的具体过程可以参考:在java中调用C/C++,如果是简单调用exe程序,直接这样写即可:

public static void ExecuteExe()
{
Runtime rn = Runtime.getRuntime();
Process p = null;
try{
p = rn.exec("程序路径");
  }catch (Exception e){
System.out.println("Error exec!");
}
}

归属感 2017-09-17 1 楼

实现这个有多种方式,以前我做电信计费账务管理系统就是java触发调用后台程序执行。
因为涉及的技术好久没用了,所以在这儿给你介绍一下解决方案思路:
第一种方案:
java前台BS系统,服务器为Weblogic,此外需要部署安装Tuxedo事务处理服务器(tuxedo起着跨语言交互的能力)。对于weblogic你要定义相应的WSDL文件,一般在weblogic中config.xml文件中。通过流程工具JPBM等创建流程,其包含相应的C/C++类,方法名,数据传输格式和业务逻辑判断。然后把定义好的数据保存数据库特定表,这个表中也要指定需要调用的C++程序。这样我们只需要在javaBS系统中业务逻辑部分进行调用相关流程即可进行调用后台C++程序。
第二种方案:
smart程序,这是一个在unix或者linux环境下运行的一个动态扫描和调用工具,一般我们指定它需要扫描的表,比如在表中一个字段不同值表示不同状态,1表示就绪,2,执行 3.结束。当smart扫描到这个字段为1时,就执行这个表中制定的C++类中方法。执行完成之后就更改那个字段值为3.这样我们在BS系统中只需要操作这个表即可调用C++程序。