本帖最后由 sinanjj 于 2010-9-15 17:44 编辑
[size=150%]完整版在
http://08680.com/viewtopic.php?f=5&t=18
tcp通讯等效成可靠的硬件连接
tcp协议的设计目的是为了在软件层面虚拟出一个可靠的硬件直接连接.
使用了tcp协议后, 两端的通讯可以认为是建立的可靠的硬件直接连接的基础上的.
我们可以将A和B之间的tcp通讯, 看作A和B之间有可靠的硬件电缆连接进行的通讯.
[size=150%]浏览器将数据变成按钮/色彩/音视频/文本内容等展示出来
打开一个网页, 实际上是通过tcp传输数据, 浏览器程序将这些数据解析成我们熟悉的网页形式.
随着web标准的推进, 浏览器能表现的内容越来越丰富, 原来必须在pc软件上做的很多工作可以在浏览器里完成, 典型的例子是google docs. 可以预见的, 未来, 人们面对的很大一部分界面是在浏览器里的.
可以说, 浏览器就是界面渲染程序, 它渲染一些数据成用户界面. web标准规定了浏览器应该如何解析数据, 比如, 规定<button>标签应该渲染成一个按钮.
[size=150%]
[size=150%]为什么要用浏览器调试tcp
现在存在大量VC等工具编写的tcp调试工具, 那么为什么我们还要用浏览器调试tcp呢?
因为能用浏览器调试tcp, 就意味着我们可以用浏览器发出tcp信息, 经过转换后, 信息可以用于各种用途------比如: 控制一个灯的开关! 也就是说, 能用浏览器调试tcp, 就能在浏览器里实现原来vc等工具编写的控制软件功能. 而浏览器界面, 相比与其他界面, 有很多优势.
首先, 从软件的兼容性上考虑, 浏览器界面是可以适用于各种pc操作系统和嵌入式系统的, 而其他方式则无法解决这一问题(windows的程序手机上能用么?). 浏览器界面, 才是真正的一次编写, 到处运行的(java的虚拟机可以不装, 浏览器能没有么?). 从这一点上看, 应用程序的界面最好放在浏览器里.
其次, 使用者只需要记住一个域名就可以, 随时随地的可以使用. 浏览器界面一旦做出来就是可以"远程访问"的, 而其他解决方案则需要这样或那样的支持库或者支持人数较少的远程登录控制.
第三: 浏览器程序的控制权容易控制, 因为它绑定在域名上. 不用再担心盗版问题啦.
[size=150%]浏览器直接建立tcp通讯的方案选择
1, websocket
在HTML5中, 规定了websocket作为浏览器建立tcp通讯的标准方案. 不幸的是, 这一标准还在不断变动中!
http://www.websockets.org/ 有一个测试可以做, 截至到目前为止, 依然是"Coming Soon".
鉴于它目前不稳定的这一情况, 我只能选择别的方案.
2, flash
flash提供了直接建立tcp的功能. 鉴于目前的状况, 我们还是使用flash吧. |