现有 A    B   C三台电脑, A 机器  首先向 C 机器 发送消息 ,C机器 接收消息,并处理、记录消息,
且在数据库中找出,与接收消息相对应的数据库记录,并且打包发送给B机器;业务流程大概就是这样整个流程过程。。由A机器发起。。并且要求实时通讯。。
现在 C机器采用 linux ,java ,请问。。要如何开发C中的软件平台。实现上述功能更为合理
具体设计到哪些相关技术啊。。?

解决方案 »

  1.   

    总的来说,做个JAVA的服务进程就可以了。在C机器中,开个socket server,再安装个数据库在C机器中,接收A发来的信息,然后处理。A和B都作为socket client去连接C。涉及的技术大概就JAVA的SOCKET编程,JAVA对数据库的DB操作。都是比较普遍的应用。
      

  2.   

    A机器:Socket
    B机器:ServerSocket
    C机器:ServerSocket+Socket +数据库操作(如JDBC) 
      

  3.   

    用rmi
    webservice,这个可能可以
      

  4.   

    如果都用java做的话推荐rmi,如果还有别的语言的话,推荐webservice
    用socket太底层了,很多涉及到面向对象的东西都要自己去实现,rmi和webservice都是封装过的,用起来更简单,当然,效率上可能会低一点
      

  5.   

    楼主可以去看一下 Apache MINA 这个框架,是用于 Socket 通讯的,采用 NIO 实现。就算要自己实现,也建议使用 SocketChannel 和 ServerSocketChannel 这两个非阻塞的 NIO 类,效率要比 Socket 和 ServerSocket 这两个阻塞的 Socket 高。
      

  6.   

    RMI虽然不错,但是在并发环境下保证系统的可靠性就对线程安全要求比较高了(如果无并发需求则无所谓,但基本上并发是不可避免的),对编码实现的要求就很高SOCKET是比较底层的,但可操作性也不错.很灵活。我曾用C写过一个单板(嵌入式)侧的TELNET服务器,与PC(客户端)实现SOCKET通信。这个比JAVA的SOCKET类库更底层,可用的网络API只有VxWorks提供的socket,read,write这三个ANSI函数,自己管理收发通道的缓冲,自行用信号量保证任务(类似JAVA的线程)的同步与互斥(类似java的线程同步).效果还是挺好的.我没看过JVM的源码,我感觉JAVA的一些IO(含网络)操作应该是基于C的(JVM是用C实现的),可能作了一段C,感觉C没有特别多的API,相反,提供的更多的是灵活性
      

  7.   

    采用Socket。
    楼主,你的头像怎么不梳头了?
      

  8.   

    我正在做一个类似的问题  现在已经做完了
     A机器: Socket
     B机器:ServerSocket
    正打算做c机器
    但是我的c机器不用连接数据库 
    不知哪位大大可以把c机器的代码帮忙贴一下吗???
      

  9.   

    mina 太有点大才小用了
    自己写写socket也不是很麻烦
    当然若是java间的通信 肯定优先RMI
      

  10.   

    A与B建立一个Socket连接 B与C建立一个Socket连接
      

  11.   

     一下,socketchannel 进行中
      

  12.   

    mina源码中的proxy例子,改进一下应当可以满足你的要求
      

  13.   

    个人觉得使用RMI或者WebService比较好,代码方面工作量很小;如果使用Socket编程,效率会很高,但是你需要去处理数据包,还需要做数据包定义什么的,两边都麻烦。