各位朋友好,
我手头上有个小系统,原来是用cs结构来写的,客户端需要监控服务端的实时状态,并能发送一些控制命令给服务器端程序,服务器端还会有实时的语音数据传输到客户端,然后客户端解码播放。
现在很多同行都采用bs来部署,并且客户也抱怨每个客户端都需要安装程序很麻烦。于是想重新开发这套软件,改写成BS的结构,但我一直用vc写桌面程序,对web没有经验,小组里面有两个php程序员,但对于web如何跟桌面程序通信拿不出方案,而我不想用数据库表来做数据通信的中介,然后在web客户端去做轮询。我们的数据库负载本来就比较大,不能再增加它的负担,所以最好能让服务器跟web客户端能直接通信(通过web服务器中转也没关系)。希望高手指点,能留下详细方案更是感激不尽。

解决方案 »

  1.   

    1、改写客户端界面为网页形式,可能会没有原来的美观了
    2、改写客户端程序为ActiveX,你一直用vc应该不是问题另外也可以考虑采用Active Document方式
      

  2.   

    web做客户端之前用air做过,客户端(js+html+air api)打包成类似桌面的应用程序,远程ajax(利用air打包后无跨域问题)至服务器端,不过客户端还是要装相关软件。。:(
      

  3.   

    1. Client改成ActiveX,好处是工作量少,坏处是兼容性问题及IE无休止的版本问题
    2. Client改成Flash,好处是介面漂亮通讯部份简单,坏处是限制较多及等于重做系统
    3. 只将通讯部份改成Flash提供控制JS接口,好处兼容性较佳及通讯库可以重用,坏处是需重新设计通讯部份
    4. 完整BS化(PHP+Ajax),好处兼容性最好及部署最简单,坏处是等于重做系统
    个人建议用 3, 4
      

  4.   

    谢谢各位朋友的回复,整个系统都考虑重新改写,因为在最近两年的使用中,客人反馈过来很多有价值的信息。所以还是偏向于楼上兄弟建议的完整bs化,但是,具体怎么去让web前端跟后端的应用程序直接交换数据呢,应用程序有很多实时数据需要发送给web端呈现出来,包括语音数据,楼上的兄弟可以详细介绍吗?谢谢!
      

  5.   

    本人对flash编程不熟悉。感觉flash可能帮你解决部分问题。以前做过一个在线wav转mp3的小东西,用到的是lame,代码如下:exec ("lame -h file/$File_name.wav file/$File_name.mp3");