我原先用VC做好一套C/S版本的远程控制软件(通过TCP/IP协议通讯),现在客户的需求需要B/S版本,通过IE访问来实现对远程设备的管理,因此对于开发的B/S架构软件有如下问题请教大家:
1)现在要用B/S来实现,B端分别使用JAVA(JSP)和.NET(aspx)来实现两套B端!对于.net我使用vs2008开发,已经实现通过调用原来的WIN32动态库和远端设备通讯控制功能,这个win32动态库是我原来C/S版本的动态库,这个动态库是用VC6开发的。
   问题是:对于JAVA而言也可以用和.net同样的方法,通过JNI调用WIN32动态库来实现对远端设备的通讯控制功能吗?因为win32动态库会返回结构数组。2)除了第一点的方法,对于aspx和jsp还有其他的通讯控制方法实现和远端设备的通讯控制功能吗,那种更好呢?望大侠指教啊!

解决方案 »

  1.   

    JNI完全可以调用dll,但是返回的数据结构,估计lz还得改改dll首先java编译一个包含native方法的的类DLLTest.java,javah DLLTest.class生成DLLTest.h然后lz自己实现这个native方法。
      

  2.   

    完全可以不用jni方式,jsp收到客户端请求后自己写socket通讯代码与你的远端设备进行通讯,嫌麻烦可以看看mina框架,专门解决java网络编程的框架。
      

  3.   


    要是改dll就很麻烦了,因为DLL里面有较繁杂的网络通讯协议!并且c#是可以实现调用带有结构数组指针的win32动态库,所以我是希望JNI能实现调用。能否给我更多的参考了
      

  4.   


    你好,谢谢你说的Mina框架,我看了这个mina框架的资料,按照C++的说法,这应该是JAVA下处理SOCKET通讯的类库;但是要是使用MIna重新编码原有网络通讯协议的内容!工作量大,同时还会出现兼容调试等太多的问题。
      

  5.   

    用到过在页面中加载OCX控件,用OCX控件来控制设备的情况,不知适不适合你的情况