Windows消息
;远程的,都是使用socket通信的。谈一些想法,希望能给你些帮助,纸上谈兵:
1)现在常用的异构系统之间的调用,采用Web
Service的方法,没做过,但是应该可以。
2)RMI是Java
To
Java,另外Sun还提供了RMI-IIOP,这个是综合了RMI和Corba,是可以用在Java和其它语言对象之间的远程调用,但是我没有资料,也许你需要看看Corba的基本知识,如何使用idl来定义C对象的接口.
3)我不知道你对C所在的服务器有什么要求,是否可以运行Java.如果可以,那么有一个方法,你可以做一个
Java程序
来作为RMI的服务器,然后这个Java程序负责和Java客户通信,通信的方式还是RMI.然后,在这个Java服务程序中,同过jni的方法调用你的
C程序
.
你打算通过哪种方式进行通信?如果你打算通过网络通信那么java建立一个服务器端套接字监听一个端口,c语言写的程序向这个服务器端口发生数据即可
如果你打算通过管道通信,那么c语言写的程序向管道中写入数据,java写的程序从管道中读取数据即可
JAVA是面向对象语言,C是面向过程语言。1、C需要在目标平台上编译为机器码(二进制可执行文件)才能执行;Java可以在任何平台上编译为字节码(class文件),便可以在几乎所有平台上执行;
2、C编译过的文件可以直接执行,效率更高;Java编译过的文件必须在特定平台上的虚拟机内运行,性能相对较差;
3、Java属于静态编译型、面向对象的高级语言;C也属于静态编译型,但是面向过程的中级语言;C对于计算机基础设施具有更强的操控能力,但需要较丰富的经验和技巧;Java中较底层的代码通常使用C并基于JNI方式实现;
4、实际应用中,C更多的应用于操作系统、硬件驱动、设备控制等开发场景;Java则在服务器端编程中占据了主导地位;
5、最近几个月的Tiobe编程语言排行榜中,Java的排行有下降的趋势,C有缓慢上升的趋势,前者和后者在最近的排行榜中占据了头两把交椅,占有率均在百分之十八点几;
6、还有好多
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)