WebSocket有没有可能取代AJAX
用Websocket取代ajax来开发WEB应用,是不太可能的。需要考虑以下更多的问题:
1、部分浏览器可能不支持websocket;
2、多种客户端访问技术,譬如移动端,自己开发的sdk;用http协议,会很通用而简单;websocket在技术上,不够通用;
3、并发,http是短连接,而websocket会保持长连接,当交互并不频繁的时候,连接是被大量浪费的,因此服务器的连接容量会大大多于http;
4、负载,http协议,可以很容易的进行web请求转发来扩容,在搭建lbs接入层的时候,很简单和稳定;而websocket协议,虽然nginx也可以转发,但是毕竟是新技术,稳定性未知;
5、简单:在问题诊断的时候,可以直接面向http协议进行切片从而监视原始数据,工具也很多;而websocket,需要更多面向tcp协议的工具,复杂度和难度会增加不少;综上,还是建议只有当需要服务器push的模块,才采用websocket,而其他的交互采用http。
如何实现在java程序中实现打开某个指定浏览器
打开浏览器:根据不同平台的默认安装路径找到 各个浏览器的可执行文件(也可自行指定浏览器路径),然后用java的Runtime这类的东东开启进程就行了。
进程可附带执行参数,将首参数指定为一个url,就可打开指定页面。
通信:java无法做到与浏览器API交互,因为编译发行的浏览器可执行文件不是内核源码,木有丰富的内置API可供调用。因此,在打开浏览器的时候会指定 URL 到Selenium的远程服务页上去。
这个页面通过js建立与远程服务器的HTTP连接通信(如 长连接,websocket,ajax轮询等)。
当远程代码需要获取、操作本地浏览器DOM、JS 等内容时,推送一段指定js源码到浏览器端执行。
执行完成后将结果发送至远端服务器上。以此来实现远端对客户端浏览器页面内容通信。
如何在PC端实现微信二维码扫码登录功能
点此进入微信网页版官网,打开网页之后打开微信的“扫一扫”功能扫描网页上的二维码,之后进行确认就可以在电脑上登陆微信了。PC端微信二维码扫码登录实现思路1. 首先要保证每次弹出的二维码是唯一的。可以在程序内部,通过session_id 与与弹出的二维码做一定关联。
(即微信oauth授权网址 callback 中要带有当前PC端用户session_id,且callback URL应与 PC网站同域)
2. 其次当展现二维码的同时,要运行一个PC端网页异步轮询xmlhttprequest (ajax ) ,定时轮询后台判断手机微信端是否有成功登录标记。
3. 当用户在微信扫码,并授权登录后,微信携带openid 信息跳转到 callback URL,此时callback URL 参数中带有PC端session_id ,根据session_id ,关联设置用户登录状态。
4. PC端异步轮询请求获得已登录消息,刷新\跳转PC端网页。
还没有评论,来说两句吧...