仅仅是一个初步的设想。最近接触到了SKYPE的开放式API开发包,开发者可以采用此API与SKYPE程序进行通信,甚至完全控制SKYPE的界面。前几天又看到一个老外借助于SKYPE API提供的优良的点对点通信功能为他的小游戏添加网络对战功能,我就忽发奇想,SKYPE的P2P技术应该是全球领先的,既然它开放了API,那么我们应该可以在SKYPE的基础上创建一条类似于SOCKET, TCP或者HTTP的通信信道,这条网络传输通道相当于一个底层的网络接口,很多需要网络互联的应用程序都可以借助于这条SKYPE信道进行通信。
既然如此,回到我以前熟悉的Remoting技术上,目前Remoting有两种信道可以使用:HTTP和TCP,但微软提供了扩充机制,允许开发者自定义通信信道。以前在CODEPROJECT网站上看到有个老外用MS消息队列实现了自定义的传输通道,那么理论上应该也可以通过SKYPE为Remoting提供一条传输通道,当然它是P2P的,任何内网的应用程序都可以直接通信了。
当然,上面的设想仅仅是一个初步的想法,下一步我会尝试实现这样的一个DEMO。P2P无疑是吸引人的,但是致命的缺陷也是有的,就是最终的应用程序必须借助于SKYPE才能工作。目前似乎还没有看到具有这种工作模式的商业应用程序?!一个程序必须借助于其它程序才能工作?!
开始行动前先自我总结一下,自我感觉这是一个碰撞的火花,下面诸多的因素凑合在一起就产生了一个奇怪的想法,呵呵,自我陶醉一下:)
1. SKYPE P2P
2. SKYPE OPEN API
3. 老外借助于SKYPE API开发的网络对战游戏
4. 分布式计算Remoting技术,HTTP, TCP传输通道
5. Remoting中可自定义的传输通道
6. 老外利用MS消息队列创建的自定义通道