1.从业10年的软件开发还没有看到一个完整的分布式通信中间件。而通信是每一个软件系统建筑的基石!
通信的环境包括单机,LAN,WLAN,INTERNET、有线和无线环境。使用熟悉和了解的通信技术:,
单机通信技术(进程间通信):消息(WM_COPYDATA)、映射文件、钩子、Pipe(Linux)、socket、数据库(严格说是数据 共享不是交互式通信)
LAN: SOCKET(TCP/UDP),HTTP(底层也是用socket),Message Queue、.Net Remoting、WCF或者是结合。
INTERNET.HTTP,socket(TCP/UDP),Message queuei
分布式环境中跨平台的完整通信技术还不算有。http(web)算一个、webservice虽然是通信衔接器,但毕竟跨平台。
知道有一个比较成熟的通信框架ACE但没用过据说是把牛刀,可是我杀鸡的时候比较多。
各种通信方式有优缺点,对应适用的网络环境。
HTTP应用范围最广,但是速度有点慢,且无状态,一直想http怎样和Socket结合,能基本上形成一个完整通用的通信框架,实现客户端的推更新,且能提高效率。能穿越防火墙。
socket应用最多,在INTERNET上应用如何尚且不知。
message queue也很方便不过在INTERNET上占的带宽比较大。
一个“平台”的概念浮现在脑海,有些技术特别是单机通信技术有平台局限,而有些技术则对平台透明。编程语言亦然。