WebSocket 解决javascript跨域问题一剂良药
近日做项目中遇到javascript跨域问题,父页面和子页面要通信,并且父子页面跨域,怎么办?
大家结合以前经验,想到了Websocket,websocket客户端编程比较简单,服务端我们用Java实现,
项目中要保证父子页面通信是点对点,需要在服务端建立对父子页面WebSocket的对应关系,即父
页面发的消息只被子页面收到,子页面的消息也只被父页面收到我们做了以下工作,严格保证了
WebSocket通信是点对点:
一是建立WebSocket链接的URL加上时间戳保证通信会话是唯一的;
二是在服务端保证父子页面WebSocket一一对应关系。父子页面的WebSocket在Open时都会
向服务端发出消息进行注册,建立Senssion之间的对应关系。然后父子页面就可通过双方约束的通
信协议进行通信了。
百度了一下,网上服务端介绍Websocket的编程多是群发,我们进行了适当改造,满足了项目
的需求。