服务器A\B\C\D上的C程序是不能改了,只能用C写(由于各种原因)
现在的主要问题是:服务器E上的web server要与服务器A通讯,用于获取一些数据,由于没有数据库(由于各种原因),否则我把服务器A上汇总的数据存在数据库里,WEB SERVER去取就可以了。
于是,我想在web server里写个socket客户端,单例模式的,与服务器A的C程序通信,但是问题又存在了,SOCKET流是顺序的,比如现在有10个客户打开了网页,并调用了不同的功能模块,那么肯定乱套了,谁的返回结果是谁的不知道了
由于现在服务器A上的C程序是个SOCKET服务端,所以也不能用system(“命令”)的方式了
曾经有想过在A上再跑一个C程序,与这个SOCKET服务端进行进程间通信,共享内存是最快的,但是这个也不可取,因为要交互的数据各类是多样的,而且又是经常变化的
那么,到底如何让WEBSERVER与C程序通信呢?使得多客户访问网页时服务器负载能低点
你在A上做一个简单的HTTP client 不就可以了吗?直接通过 socket 向 E 的 http 端口发送 http 请求,然后就可以获取E 的响应了,web service 都是 xml 形式的,用C也很容易处理的。
在WebServer上将数据缓存呢?可行吗?