基于传统的前端开发,一般都使用JS访问一个URL,然后基于这个URL使用JSONDATA与URL进行交互
如下图:
最右边的CenterMaster是我们的数据接口,所有动态数据,通过这个TCP获取
那么如果要实时的展现数据的变化,那么我们有2种方法
1,使用poll(不断的轮询),这么将是一个低效的方法
2,就是在后台保持一个长连接,然后被动的触发,当有数据更新时
基于第二种,方案,我们不得不在后台打开一个原始的tcp socket连接,那么当这个TCP连接有数据接收时,那么就被动的触发了数据
所以这种方式是高效的,因为是基于事件的,而不是基于轮询的
那么在最新的HTML5里,有一个websocket的组件,能够打开一个TCP的链接,并且是异步的
但是建立websocket的,我们需要交换一些密钥来建立链接
所以我们不得不交换密钥,在链接建立之初
而HTTP是基于TCP的,所以,我们的TCP server是完全可以接收来自浏览器的HTTP的请求
例如如果,你建立一个TCP的server